The following table displays features that are different among the three shells.
| sh | ksh | csh | Meaning/Action | 
|---|---|---|---|
$ | $ | % | Prompt. | 
>| | >! | Force redirection. | |
>>! | Force append. | ||
> file 2>&1 | > file 2>&1 | >& file | Combine stdout and stderr. | 
{  } | Expand elements in list. | ||
` ` | ` ` | ` ` | Substitute output of enclosed command.  | 
$(  ) | Substitute output of enclosed command. (Preferred form.)  | ||
$HOME | $HOME | $home | Home directory. | 
~ | ~ | Home directory symbol. | |
var=value | var=value | set var=value | Variable assignment. | 
export var | export var=val | setenv var val | Set environment variable.  | 
${nn} | More than nine args can be referenced.  | ||
"$@" | "$@" | All args as separate words.  | |
$# | $# | $#argv | Number of arguments.  | 
$? | $? | $status | Exit status.  | 
$! | $! | Background exit status.  | |
$- | $- | Current options.  | |
.  file | .  file | source file | Read commands in file.  | 
alias x=y | alias x y | Name x stands for y.  | |
case | case | switch/case | Choose alternatives.  | 
cd ~- | popd/pushd | Switch directories.  | |
done | done | end | End a loop statement.  | 
esac | esac | endsw | End   | 
exit [n] | exit [n] | exit [(expr)] | Exit with a status.  | 
for/do | for/do | foreach | Loop through variables.  | 
print -r | glob | Ignore   | |
hash | alias -t | hashstat | Display hashed commands (tracked aliases).  | 
hash cmds | alias -t cmds | rehash | Remember command locations.  | 
hash -r | PATH=$PATH | unhash | Forget command locations.  | 
history | history | List previous commands.  | |
r | !! | Redo previous command.  | |
r str | !str | Redo command that starts with str.  | |
r x=cmd | !cmd:s/x/y | Edit command, then execute.  | |
if [ $i -eq 5 ] | if ((i==5)) | if ($i==5) | Sample   | 
fi | fi | endif | End   | 
ulimit | ulimit | limit | Set resource limits.  | 
pwd | pwd | dirs | Print working directory.  | 
read | read | $< | Read from standard input.  | 
trap 2 | trap 2 | onintr | Ignore interrupts.  | 
unalias | unalias | Remove aliases.  | |
until/do | until/do | Begin   | |
while/do | while/do | while | Begin   |