O'Reilly logo

Unix in a Nutshell, 4th Edition by Arnold Robbins

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Differing Features

The following table displays features that are different among the three shells.

bash

ksh

tcsh

Meaning/action

$

$

%

Prompt.

>|

>|

>!

Force redirection.

  

>>!

Force append.

> file 2>&1

> file 2>&1

>& file

Combine stdout and stderr.

>& file

 

>& file

Combine stdout and stderr.

' '

' '

' '

Substitute output of enclosed command.

$()

$()

 

Substitute output of enclosed command. (Preferred form.)

$HOME

$HOME

$home

Home directory.

var = value

var = value

setvar=value

Variable assignment.

export var = val

export var = val

setenv var val

Set environment variable.

${ nn }

${ nn }

 

More than nine args can be referenced.

"$@"

"$@"

 

All args as separate words.

$#

$#

$#argv

Number of arguments.

$?

$?

$status

Exit status.

$!

$!

 

Last background Process ID.

$-

$-

 

Current options.

. file

. file

source file

Read commands in file.

aliasx=y

aliasx=y

alias x y

Name x stands for y.

case

case

switch/case

Choose alternatives.

cd ~-

cd ~-

popd/pushd

Switch directories.

popd/pushd

 

popd/pushd

Switch directories.

done

done

end

End a loop statement.

esac

esac

endsw

End case or switch.

exit [ n ]

exit [ n ]

exit [( expr )]

Exit with a status.

for/do

for/do

foreach

Loop through values.

echo -E

print -r

glob

Ignore echo escapes.

hash

alias -t

hashstat

Display ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required