3、常见的Shell
上面提到过,Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本。
Unix/Linux上常见的Shell脚本解释器有bash、sh、csh、ksh等,习惯上把它们称作一种Shell。我们常说有多少种Shell,其实说的是Shell脚本解释器。
bash
bash是Linux标准默认的shell,本教程也基于bash讲解。bash由Brian Fox和Chet Ramey共同完成,是BourneAgain Shell的缩写,内部命令一共有40个。
sh
sh 由Steve Bourne开发,是Bourne Shell的缩写,sh 是Unix 标准默认的shell。
注意:bash是 Bourne Again Shell 的缩写,是linux标准的默认shell ,它基于Bourne shell,吸收了C shell和Korn shell的一些特性。bash完全兼容sh,也就是说,用sh写的脚本可以不加修改的在bash中执行。
可以通过命令查看系统的Shell支持情况。
[root@CentOS8 log]# cat /etc/shells
可以通过以下两种方法查看Centos Linux系统默认的Shell。
[root@CentOS8 log]# echo $SHELL /bin/bash [root@CentOS8 log]# grep root /etc/passwd root:x:0:0:root:/root:/bin/bash # 结尾的/bin/bash就是用户登录后的Shell解释器。
使用如下命令可以 查看shell版本。
[root@CentOS8 test]# bash --version GNU bash, version 4.4.19(1)-release (x86_64-redhat-linux-gnu)
sh和bash的区别
[root@CentOS8 test]# ls -l /bin/sh lrwxrwxrwx. 1 root root 4 May 11 2019 /bin/sh -> bash
说明:sh是bash的软链接。