As UNIX becomes more popular, in large part because of the Internet and
OpenSource[1] software (Linux in particular), shell programming is becoming a skill that is increasingly demanded of system administrators, Web authors, and programmers.
By learning about shell programming, those who work with UNIX every day can greatly expand their flexibility in solving system administration problems and automating time-consuming tasks.
If you are a UNIX novice or do not expect to work regularly with UNIX, shell programming is a great way to expand your understanding of the concepts that UNIX is built upon. As you learn about the capabilities of the shell and how to interact with it, your understanding of other UNIX commands and the UNIX operating environment will be enhanced. You may even find it easier to remember all those command-line options.
Shell programs (usually called shell scripts) are used on every UNIX system. They play a part on most Web servers and database systems. They also control the initialization of UNIX.