The following table displays features that are common to the Bash, Korn, and C shells. Note that both the Korn shell and Bash are enhanced versions of the Bourne shell; therefore, they include all features of the Bourne shell, plus some others.
Symbol/command | Meaning/action |
|---|
> | Redirect output. |
>> | Append to file. |
< | Redirect input. |
<< | "Here" document (redirect input). |
| | Pipe output. |
& | Run process in background. |
; | Separate commands on same line. |
~ | Home directory symbol. |
* | Match any character(s) in filename. |
? | Match single character in filename. |
[ ] | Match any characters enclosed. |
( ) | Execute in subshell. |
{ } | Expand elements in list.a |
' ' | Substitute output of enclosed command. |
" " | Partial quote (allows variable and command expansion). |
' ' | Full quote (no expansion). |
\ | Quote following character. |
$var | Use value for variable. |
$$ | Process ID. |
$0 | Command name. |
$n | n th argument (0 9). |
$* | All arguments as simple words. |
# | Begin comment. |
bg | Background execution. |
break | Break from loop statements. |
cd | Change directory. |
continue | Resume a program loop. |
echo | Display output. |
eval | Evaluate arguments. |
exec | Execute a new shell. |
fg | Foreground execution. |
history | List previous commands. |
jobs | Show active jobs. |
kill | Terminate running jobs. |
shift | Shift positional parameters. |
suspend | Suspend a foreground job (such as a shell created by su). |
time | Time a command. |
umask | Set default file permissions for new files. |
unset | Erase variable or function definitions. |
wait | Wait for a background job to finish. |
a Brace expansion is a compile-time feature in the Korn shell. Usually commercial versions don't have it, but if you compile from source code, you do get it by default. |