11.1.3 Shell的功能

当一台系统运行起来时,内核(kernel)会被调入内存中运行,由内核执行所有底层的工作,它会将所有应用程序及用户的操作翻译成CPU的基本指令,并将其送至处理器。这些过程听起来非常复杂,而且实际上也确实是非常底层和技术化的。为了对用户屏蔽这些复杂的技术细节,同时也是为了保护内核不会因用户直接操作而受到损害,有必要在内核之上创建一个层,该层就是一个“壳”,也就是Shell名称的由来。

Bash Shell有两种工作模式,分别是互动模式和脚本模式。所谓互动模式就是由系统管理人员直接通过键盘输入命令,并等待其执行完毕后再执行下一条命令;而另一种模式是设计出一个脚本文件,将所有需要执行的命令写在该文件中,由Bash Shell读取并执行。很明显,后一种工作模式的效率更高,因为可以让工作变得“自动化”,这也是我们学习Shell最重要的原因——将一切工作都自动化处理。当然,在此过程中,有些脚本是需要在一定情况下才能确保运行成功的,为此必须加入更多的判断功能。除此以外,我们还可能需要使用循环来运行一些需要重复执行的任务,等等。这些需求使得Shell实际上已经发展成为一种开发工具。Shell入门并不难,但是要想学精却需要经过大量阅读、使用、出错并从错误中总结的过程,这样才能不断提高对其的掌控能力。