Skip to Content
Linux System Administration
book

Linux System Administration

by Tom Adelstein, Bill Lubanovic
March 2007
Intermediate 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.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Beginning Linux System Administration

Beginning Linux System Administration

Sander van Vugt
Mastering Linux System Administration

Mastering Linux System Administration

Christine Bresnahan, Richard Blum

Publisher Resources

ISBN: 9780596009526Catalog PageErrata