Skip to Main Content
Linux System Administration
book

Linux System Administration

by Tom Adelstein, Bill Lubanovic
March 2007
Intermediate to advanced content levelIntermediate to advanced
304 pages
11h 12m
English
O'Reilly Media, Inc.
Content preview from Linux System Administration
218
|
Chapter 10: Scripting
variable is the name of the script itself. The $* variable contains all the arguments as
one string value. These variables can then be passed along to commands the script
runs:
admin@server1:~$ cat files
#!/bin/bash
ls -Alv $*
admin@server1:~$ ./files hello hello2 today
-rwxr-xr-x 1 admin admin 48 2006-07-25 13:25 hello
-rwxr-xr-x 1 admin admin 51 2006-07-25 14:45 hello2
-rwxr-xr-x 1 admin admin 45 2006-07-25 14:49 today
admin@server1:~$
The special variable $$ contains the current process’s process ID. This can be used to
create a unique temporary filename. If multiple copies of the same script are running
at the same time, each will have a different process ID and thus a different tempo-
rary filename.
Another useful variable is
$?, which contains the return status of the most recent
command executed. We’ll use this later in this chapter to check for the success or
failure of program execution in a script.
Useful Elements for bash Scripts
We’ve introduced the basic elements of bash that you’ll use in the everyday running
of interactive commands. Now let’s look at some things that will help you write
effective scripts.
Expressions
bash expressions contain variables and operators such as == (equals) and > (greater
than). These are usually used in tests, which can be specified in several ways:
test $file == "test"
[ $file == "test" ]
[[ $file == "test" ]]
If you use the test command, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Mastering Linux System Administration

Mastering Linux System Administration

Christine Bresnahan, Richard Blum
Mastering Linux Administration

Mastering Linux Administration

Alexandru Calcatinge, Julian Balog

Publisher Resources

ISBN: 9780596009526Supplemental ContentCatalog PageErrata