了解shell的作用及种类

发布时间:2020-05-13编辑:脚本学堂
shell的作用 shell实用程序用来解释用户输入或者从shell脚本文件中读取的命令。执行脚本的时候不用编译而是直接被解释。

shell的作用
shell实用程序用来解释用户输入或者从shell脚本文件中读取的命令。执行脚本的时候不用编译而是直接被解释。shell读取脚本中的每一行,然后在系统中查找这些命令并执行。如果一个程序被编译成系统可执行的文件,那么这个文件也可以在脚本中使用。

除了向内核中传送命令,shell的另一个主要作用是提供一个用户环境,各自的用户环境可以使用shell的源文件进行配置。

shell的类型
就像世界上有很多种语言或者方言一样,在unix和unix-like系统中提供了很多种shell:
1)、sh或者 Bourne shell:这种shell仍然在unix系统中使用。它是一个最基本的shell,有很少的特征。虽然现在已经不是默认的shell,但是仍在linux可用,去兼容unix程序。
2)、csh或者C shell:语法和c语言非常的类似。编程不方便。
3)、tcsh或者TENEX C shell:是对csh进行扩展的一种shell,使用起来更方便,速度更快。
4)、ksh或者Korn shell:与bsh向后兼容。
5)、bash或者Bourne Again shell:标准的GNU shell,直观、灵活。非常适合初学者使用,同时也是高级和专业人士的有力工具。在linux中,bash是标准的shell。向后兼容sh。
也有很多的插件和增强功能。

linux系统中的/etc/shells文件中显示了当前系统中可用的shell。

[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/ksh

当然也不只这些shell可以使用,如果随后安装了其他的shell,也可以使用:
[root@localhost ~]# yum -y install zsh
Loaded plugins: rhnplugin, security
This system is not registered with RHN.
RHN support will be disabled.
Cluster                                                  | 1.3 kB     00:00   
ClusterStorage                                           | 1.3 kB     00:00   
Server                                                   | 1.3 kB     00:00   
VT                                                       | 1.3 kB     00:00   
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package zsh.i386 0:4.2.6-3.el5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved
================================================================================
 Package        Arch            Version                 Repository         Size
================================================================================
Installing:
 zsh            i386            4.2.6-3.el5             Server            1.7 M

Transaction Summary
================================================================================
Install      1 Package(s)       
Update       0 Package(s)       
Remove       0 Package(s)       
 
Total download size: 1.7 M
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : zsh        1/1
 
Installed:
  zsh.i386 0:4.2.6-3.el5                                                      
 
Complete!
[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/ksh
/bin/zsh