前言
- shell作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串命令。
- shell作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
shell分类
(1)图形界面shell
应用最为广泛的 Windows Explorer,是微软的Windows系列制作系统,还有广为人知的 Linux shell,其中Linux shell 包括 X window manger (BlackBox和FluxBox),以及功能更强大的CDE、GNOME、KDE、XFCE。
(2)命令行式shell
命令行shell包括:bash、sh、ksh、csh,应用于Unix和Linux系统;cmd.exe命令提示符则应用于WindowsNT 系统。
Shell的历史
- sh (Bourne shell ) Steve Bourne。
- csh (Sun/Unix)伯克利大学的Bill Joy C语言版本
- K shell (商业版本)
- bash (Linux基于GNU架构发展的) Bourne Again SHell
shell执行
- 交互式模式:等待用户的输入,并且执行用户提交的命令,这种模式也是大多数用户非常熟悉的,如登录、执行一些命令或退出。当用户退出后,shell也终止了。
- 非交互式模式:shell不与用户进行交互,而是读取存放在文件中的命令,并且执行;当读到文件的结尾时,shell也就终止了。