在UNIX中主要有两大类shell
Bourne shell (包括 sh,ksh,and bash)
Bourne shell ( sh)
Korn shell ( ksh)
Bourne Again shell ( bash)
POSIX shell ( sh)
C shell (包括 csh and tcsh)
C shell ( csh)
TENEX/TOPS C shell ( tcsh)
各主要操作系统下缺省的shell:
AIX下是Korn Shell.
Solaris缺省的是Bourne shell.
FreeBSD缺省的是C shell
HP-UX缺省的是POSIX shell.
在 BASH 中要切换到 C Shell下 ,只要直接输入对方 Shell 的名字 csh 就可以了。我们用这种方法启动一个新 Shell后 ,使用 ps 命令查看进程就会发现多出了一个新的 Shell 进程 , 而这个新进程的 ppid( 父进程编号) 就是原来 Shell 的 pid ( 进程编号 ) 。也就是说 , 新启动的 Shell 其实是原来 Shell 的子 Shell 。使用 exit 命令可以退出当前 Shell 。
如果不希望以启动子 Shell 的方法来进行 Shell 切换的话 , 可以使用如下切换方式:
exec Shell名
比如 ,我们在原始Shell下要切换到C Shell,就输入:
exec csh
这时我们检查一下进程 ,发现没有多出子Shell的进程 ,已经来到了C Shell下。
Bourne shell (包括 sh,ksh,and bash)
Bourne shell ( sh)
Korn shell ( ksh)
Bourne Again shell ( bash)
POSIX shell ( sh)
C shell (包括 csh and tcsh)
C shell ( csh)
TENEX/TOPS C shell ( tcsh)
各主要操作系统下缺省的shell:
AIX下是Korn Shell.
Solaris缺省的是Bourne shell.
FreeBSD缺省的是C shell
HP-UX缺省的是POSIX shell.
Linux是Bourne Again shell.
有很长一段时间,只有两类shell供人们选择,Bourne shell用来编程,C shell用来交互。为了改变这种状况,AT&T的bell实验室David Korn开发了Korn shell。ksh结合了所有的C shell的交互式特性,并融入了Bourne shell的语法。因此,Korn shell广受用户的欢迎。它还新增了数学计算,进程协作(coprocess)、行内编辑(inline editing)等功能。Korn Shell 是一个交互式的命令解释器和命令编程语言.它符合POSIX。
bash是GNU计划的一部分,用来替代Bourne shell。它用于基于GNU的系统如Linux.大多数的Linux(Red Hat,Slackware,Caldera)都以bash作为缺省的shell,并且运行sh时,其实调用的是bash。
POSIX shell 是Korn shell的一个变种.
在 BASH 中要切换到 C Shell下 ,只要直接输入对方 Shell 的名字 csh 就可以了。我们用这种方法启动一个新 Shell后 ,使用 ps 命令查看进程就会发现多出了一个新的 Shell 进程 , 而这个新进程的 ppid( 父进程编号) 就是原来 Shell 的 pid ( 进程编号 ) 。也就是说 , 新启动的 Shell 其实是原来 Shell 的子 Shell 。使用 exit 命令可以退出当前 Shell 。
如果不希望以启动子 Shell 的方法来进行 Shell 切换的话 , 可以使用如下切换方式:
exec Shell名
比如 ,我们在原始Shell下要切换到C Shell,就输入:
exec csh
这时我们检查一下进程 ,发现没有多出子Shell的进程 ,已经来到了C Shell下。