This section briefly describes other commands that you may encounter in system scripts.
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
who -r. run-level 2 Aug 21 16:58 2 0 S $
set `who -r`$
unset command may be used
to remove a defined variable.
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$ccmd $
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"`
eval command runs the
commands generated by
tset -s. As
we say, they are used to set the TERM and TERMCAP environment variables.
provides a similar example for
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
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 ...