Shell脚本编程是Unix/Linux系统管理员应当具备的一项非常重要的技能,优秀管理员用shell脚本完成绝大多数工作,所以他们有足够的时间喝咖啡泡论坛。然而,要掌握这一技能并不十分容易,这需要了解相当数量的知识,并进行大量的练习和实践。笔者丝毫不敢说自己已经掌握了这一技能,我写这些文章只是为了把学习的历程记录下来,如果恰好也对你有所帮助我很荣幸。
首先,我们来解决必须回答的问题:shell是什么?要回答这个问题必须先清楚Unix/Linux系统的结构。我们把这个结构简单分为两部分:系统内核——实用程序。系统内核是系统的心脏,从打开计算机自检时就驻留在计算机内存,直至计算机关闭;而实用程序驻留在计算机磁盘上,仅当需要时才调入内存。
那么shell是什么呢?shell是一种实用程序,实际上所有Unix/Linux命令都是一个实用程序!每当系统允许用户登陆时,系统(准确地讲是init程序)为每个终端启动gettygetty做一些事情然后在分配给他的终端上显示”login:”等待用户输入信息。一旦用户键入信息并以回车结束,getty程序就会消失,同时启动login程序完成登陆处理。用户成功登陆后,将会启动一个重量级的程序,那就是shell
Shell为什么那么重要呢?因为他有很多很强大的功能:

一、执行程序:shell负责解释并执行终端请求的程序。

二、变量和文件名的替换:shell会解释一些特殊的符号来进行替换。