brief history
- 1971, thompson shell
- 1973, pwb shell (mashey shell), introduces one-letter variables and pipes
- 1978,
csh, c-style scripting (broken), some interactivity, moar followed
1981 with tcsh (completion, interactive history)
- 1979,
sh, bourne shell, base for posix
- 1983,
ksh, korn shell, bourne w/ interactivity and some more, part of
system v, commercial, also influenced posix
- 1989,
ash, almquist shell, bsd licensed sh, spawned as dash, busybox
- 1989,
bash, same goals as ksh
- 1990,
zsh, same goals as ksh
types
login shells
setup only needed once, f.e. run ssh-agent, notify other users (write).
usual config files are profile, login and logout.
triggered by -l or leading -. can be exitted with logout.
interactive shells
read rc files.
misc
talk with term via stty -a
clean passing of parameters from f.e. find. $0 may also appear in error
messages as command name.
sh -c 'echo $0 $1' command_name argument