10-12-2012
4,673,
588
Join Date: Oct 2010
Last Activity: 1 February 2016, 3:35 PM EST
Location: Southern NJ, USA (Nord)
Posts: 4,673
Thanks Given: 8
Thanked 588 Times in 561 Posts
Reading explanations is OK, but there is a lot of value in dissecting examples and finally, in writing you own scripts. Make up your own applications to script, or follow the discussions here! The subtleties are best learned by making mistakes, by processing some input and examining some output.
A big part of shell scripting is knowing the tool applications, like sort, comm, grep, sed, ls, ps, find, etc. It is a bit like learning C; nice language but you need to learn the libraries. In fact, it is good to write some commands in C to see what your shell is up to and to understand the behavior of FILE* I/O. Understanding the UNIX system, with inherited duplicate FD, environment, signals and masks, umask, inodes, directories, symbolic links, named pipes, fork(), exec() and even threads can help you understand what the shell makes available to you. Learning how to read man pages for full understanding and how to research will be skills you will use over and over. I use it here, and it keeps me sharp. Remember that all of the LINUX source is available to read. I have posted C source for many small commands here. Try following some of the questions that got answered.