Command Forms
|
Execute cmd in background. |
|
Command sequence; execute multiple cmds on the same line. |
|
Execute commands as a group in the current shell. |
|
Execute commands as a group in a subshell. |
|
Pipe; use output from cmd1 as input to cmd2. |
|
Command substitution; use cmd2 output as arguments to cmd1. |
|
POSIX shell command substitution; nesting is allowed. |
|
POSIX shell arithmetic substitution. Use the result of expression as argument to cmd. |
|
AND; execute cmd1 and then (if cmd1 succeeds) cmd2. This is a “short-circuit” operation; cmd2 is never executed if cmd1 fails. |
|
OR; execute either cmd1 or (if cmd1 fails) cmd2. This is a “short-circuit” operation; cmd2 is never executed if cmd1 succeeds. |
|
NOT; execute cmd, and produce a zero exit status if cmd exits with a nonzero status. Otherwise, produce a nonzero status when cmd exits with a zero status. Not ksh88. |
Examples
$nroff file > file.txt &
Format in the background $cd; ls
Execute sequentially $(date; who; pwd) > logfile
All output is redirected $sort file | pr -3 | lp
Sort file, page output, then print $vi 'grep -l ifdef *.c'
Edit files found by grep $egrep '(yes|no)' 'cat list'
Specify a list of files to search $egrep '(yes|no)' $(cat list)
POSIX version of previous $egrep '(yes|no)' $(< list)
Faster, not in POSIX $grep XX file && lp file
Print ...
Get Unix in a Nutshell, 4th 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.