2011年(12)
分类: LINUX
2011-03-24 21:50:41
什么是shell编程,为什么用shell编程,有哪些种类。本篇将主要分析这三个问题。
首先,什么是shell编程。众所周知,shell俗称壳,也就是外壳的意思。在windows中,我们经常使用的explorer.exe就是一种带有视窗用户界面的shell。在linux/unix中,我们熟悉的有bash 、sh 、 ksh 、 csh以及gnome、kde等shell。从这个角度上讲,shell是一类软件。我们可以将他作为用户和系统内核之间的桥梁。但同时,shell也是一种程序设计语言,他可以交互式的解释和执行用户写好的命令并执行某些指令,他有自己的语法体系和控制结构,包括变量(数据类型、参数)和各种选择、判断及循环结构。那么什么是shell编程到现在已经一目了然了。
在使用unix/linux系统的时候,我们经常会用到很多相同的命令。而我们重复的输入这些命令是一件很麻烦的事情(比如前些天去baidu面试的时候,面试官就问了我如何向10 000台服务器上传文件的问题。这时候就是shell脚本出马的时候了)。通常的做法是,将这些命令写入到一个文件中,我们叫他脚本文件,然后执行之。我们还可以在其中加入很多控制结构,来实现更好更强大的功能。我们还可以用一些通用的程序如:sed、awk、grep等,来控制命令和文件。
UNIX Linux Bourne shell BASH C shell TCSH Korn shell pdksh(更强的Bourne shell) Bourne shell 是标准的UNIX shell,C shell是加州大学伯克利分校开发的shell,增强了交互的功能。Korn shell是Bourne shell的超集合,由AT&T开发。Korn shell在许多方面要优于Bourne shell,与C shell比较则各有所长(C shell效率稍微差一些)。TCSH是linux下的一款免费软件,用来在linux平台执行C shell。
不论哪种shell, 其目的都是解释用户的指令。常用其来做如下一些工作,如读取命令行、求值、应用管道、处理信号、创建执行程序等。