有关Shell的一些

在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.

  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下。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值