
630
|
Chapter 6: The Bash Shell and Korn Shell
This is the Title of the Book, eMatter Edition
Copyright © 2006 O’Reilly & Associates, Inc. All rights reserved.
Command Forms
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 file if it contains the pattern;
$ grep XX file || echo "XX not found" Otherwise, echo an error message
Redirection Forms
The usual input source or output destination can be changed, as seen in the
following sections.
Simple redirection
cmd > file
Send output of cmd to file (overwrite).
cmd >> file
Send output of cmd to file (append).
Syntax Effect
cmd & Execute cmd in background.
cmd1 ; cmd2 Command sequence; execute multiple cmds on the same line.
{ cmd1 ; cmd2 ; } Execute commands as a group in the current shell.
(cmd1 ; cmd2) Execute commands as a group in a subshell.
cmd1 | cmd2 Pipe; use output from cmd1 as input to cmd2.
cmd1 'cmd2' Command substitution; use cmd2 output as arguments to cmd1.
cmd1 $(cmd2) POSIX shell command substitution; nesting is allowed.
cmd $((expression)) POSIX ...