sh:
burne shell (sh)
burne again shell (bash)
csh:
c shell (csh)
tc shell (tcsh)
korn shell (ksh)
(FIXME)
其实,就是常见的 Shell,也是功能不同,风格各异。一般来说,人们容易囤于固有的平台,使用 default 的 shell,也就是 /bin/sh。然而,不同的系统的 shell 从名字到 path 都不相同。由于最早的 shell 是 Bourne Shell,所以UNIX 上的 sh 就是 Bourne Shell。但现在有些混乱了,比如 HP-UX 11i 上已变成 POSIX sh 了。下面列出在个平台上常见 shell。
SHELL Solaris 9 HP-UX 11i AIX 5.3 SCO 7.14 LINUX (RedHat)
----- --------- --------- ------- -------- --------------
BSH /usr/bin/sh N/A /usr/bin/bsh /usr/bin/sh /bin/ash (bsh -> ash)
CSH /usr/bin/csh /usr/bin/csh /usr/bin/csh /usr/bin/csh /bin/csh -> tcsh
TCSH /usr/bin/tcsh N/A N/A N/A /bin/tcsh
KSH88 /usr/bin/ksh /usr/bin/ksh /usr/bin/ksh /usr/bin/ksh88 N/A
KSH93 /usr/dt/bin/dtksh dtksh /usr/bin/ksh93 /usr/bin/ksh N/A
BASH /usr/bin/bash N/A N/A N/A /bin/bash
PDKSH N/A N/A N/A N/A /bin/ksh
POSIXSH /usr/xpg4/bin/sh /bin/sh /usr/bin/psh /u95/bin/sh /bin/sh (-> bash)
ZSH /usr/bin/zsh N/A N/A N/A /bin/zsh
怎样确认自己使用的是哪种shell?
查看shell:
①输入一个系统不认识的命令(如#ig)获得系统提示
②#echo $0 (适用:sh/ksh)
③#ps |grep $$|awk '{print $4}'
④#echo $SHELL(用户默认的Shell,但不实时反映当前shell)
如果用户登录之后 UNIX显示提示 符为$,那么所使用的是B Shell。若显示为%提示符,则为 C Shell