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 $616: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$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"`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 ...
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