
211
Chapter 10
CHAPTER 10
Scripting
As a Linux system administrator, you’ll use two tools more than any others: a text
editor to create and edit text files, and a shell to run commands. At some point you’ll
tire of typing repetitive commands and look for ways to save your fingers and reduce
errors. That’s when you’ll combine the text editor and the shell to create the sim-
plest Linux programs: shell scripts.
Linux itself uses shell scripts everywhere, especially for customizable tasks such as
service and process management. If you understand how those system scripts are
written, you can interpret the steps they’re taking and adapt them for your own
needs.
The shell (an interface to the operating system) is one of many innovations inherited
from Linux’s great-grandfather, Unix. In 1978, Bell Labs researcher Stephen Bourne
developed the Bourne Shell for Version 7 Unix. It was called sh (Unix valued terse-
ness), and it defined the standard features that all shells still display. Shells evolved
from that foundation, leading to the development of the Korn shell (ksh, or course),
the C shell (csh), and finally the Bash shell (bash) that is now standard on GNU/
Linux systems. bash is a pun/acronym for Bourne-Again Shell, and it still supports
scripts written for the original Bourne shell.
This chapter starts with the bash basics: shell prompts, commands and arguments,
variables, expressions, and I/O redirection. ...