Other Useful Commands
This section briefly describes other commands that you may encounter in system scripts.
set
The set
command sets the
values of $1 through $n to the words given as its
arguments. It is often used with a backquoted command to assign the
argument identifiers to the command’s output. Here is an example of
its use:
$who -r
. run-level 2 Aug 21 16:58 2 0 S $set `who -r`
$echo $6
16:58
The unset
command may be used
to remove a defined variable.
eval
The eval
command executes its
argument as a shell command. It is used to execute commands generated
by multiple levels of indirection. Here is a silly example:
$a=c; b=m; c=d; cmd=date
$echo $a$b$c
cmd $eval $`echo $a$b$c`
Sun Jun 3 19:37:30 EDT 2001
Here is a real example that we looked at in Chapter 12:
$ eval `tset -sQ -m ":?vt100"`
This eval
command runs the
commands generated by tset -s
. As
we say, they are used to set the TERM and TERMCAP environment variables.
The command eval resize
provides a similar example for xterm
windows.
printf
The printf
command is used to
produce formatted output strings, and you will occasionally see it
used in system scripts. It takes two arguments: a format-specification
string and a list of items to be printed using that format. Here is an
example command used to create a record in a printer accounting
file:
#pages=21; host=hamlet; user=chavez
#printf '%7.2f\t%s:%s\n' "$pages" "$host" "$user"
21.00 hamlet:chavez
This command creates a line in which the number of pages is printed as a floating ...
Get Essential System Administration, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.