1.2 Shell脚本编程的优势
脚本语言(Script Language)是相对于编译型语言而言的,它是为了缩短编译型语言编写—编译—链接—运行(Edit-Compile-Link-Run)过程而创建的计算机编程语言。由于脚本语言常常运行于底层,所处理的是字节、整数、浮点数或其他机器层的对象,因而,脚本语言是低级程序设计语言。如C\C++、Ada、Java、C#等都属于编译型语言,也可称为高级程序设计语言,这类语言所编写的程序需要经过编译,将源代码转化为目标代码才能运行。而脚本语言往往是解释运行而非编译,即由解释器(Interpreter)读入脚本程序代码,将其转换成内部的形式执行,而解释器本身则是编译型程序。
脚本语言的好处是简单、易学、易用,适合处理文件和目录之类的对象,以简单的方式快速完成某些复杂的事情通常是创建脚本语言的重要原则,脚本语言的特性可以总结为以下几个方面:
● 语法和结构通常比较简单。
● 学习和使用通常比较简单。
● 通常以容易修改程序的“解释”作为运行方式,而不需要“编译”。
● 程序的开发产能优于运行效能。
脚本语言的灵活性是以执行效率为代价的,脚本语言的执行效率通常不如编译型语言。当然,脚本语言一般不适用于大型的项目、计算复杂的工程或有高级需求的应用软件,它适用于系统管理、文本处理等方面完成特定功能的常用的小工具或小程序。
Shell脚本语言是Linux/UNIX系统上一种重要的脚本语言,在Linux/UNIX领域应用极为广泛,熟练掌握Shell脚本语言是一个优秀的Linux/UNIX开发者和系统管理员的必经之路。利用Shell脚本语言可以简洁地实现复杂的操作,而且Shell脚本程序往往可以在不同版本的Linux/UNIX系统上通用。
尽管Shell脚本语言延续了脚本语言易学的特性,易学体现在Shell脚本语言门槛较低,易于上手,读者可以毫不费力就学会编写一个简单的Shell脚本程序,并且很容易学会执行它。但是,要深入透彻地学会Shell脚本语言是有难度的,因为Shell脚本语言涉及几乎所有Linux命令的灵活使用,而且Linux系统下的小工具(如awk、sed)也较多,它们常常出现在Shell脚本之中。另外,Shell脚本语言还提供了类似于高级程序设计语言的语法结构,如分支判断语句、变量和函数、循环结构、数组、算术和逻辑运算等。
综上所述,Shell脚本语言是Linux/UNIX系统上应用广泛的实用程序设计语言,它是“易学难精”的,真正学会Shell脚本编程,需要读者清晰地掌握Linux重要命令的语法,理解Linux命令重要选项的作业和区别,还需要掌握Shell脚本语言的语法结构以及一些常用的小工具。