其实做为号令语言互动式地解释和施行用户输入的号令只是Shell功用的一个方面,Shell还能够用来停止法式设想,它供给了定义变量和参数的手 段以及丰硕的法式控造构造。利用Shell编程类似于DOS中的批处置文件,称为Shell script,又叫Shell法式或Shell号令文件。
Shell根本语法
像高级法式设想语言一样,Shell也供给申明和利用变量的功用。对Shell来讲,所有变量的取值都是一个字串,Shell法式接纳$var的形式来引用名为var的变量的值。
Shell有以下几种根本类型的变量。
(1)Shell定义的情况变量:
Shell在起头施行时就已经定义了一些和系统的工做情况有关的变量,用户还能够从头定义那些变量,常用的Shell情况变量有:
HOME 用于保留注册目次的完全途径名。
PATH 用于保留用冒号分隔的目次途径名,Shell将按PATH变量中给出的挨次搜索那些目次,找到的第一个与号令名称一致的可施行文件将被施行。
TERM 末端的类型。
UID 当前用户的识别字,取值是由数位构成的字串。
PWD 当前工做目次的绝对途径名,该变量的取值随cd号令的利用而变革。
PS1 主提醒符,在特权用户下,默认的主提醒符是#,在通俗用户下,默认的主提醒符是$。
PS2 在Shell领受用户输入号令的过程中,若是用户在输入行的末尾输入“\”然后回车,或者当用户按回车键时Shell判断出用户输入的号令没有完毕时,就显示那个辅助提醒符,提醒用户持续输入号令的其余部门,默认的辅助提醒符是。
(2)用户定义的变量:
用户能够根据下面的语律例则定义本身的变量:
变量名=变量值
要留意的一点是,在定义变量时,变量名前不该加符号$,在引用变量的内容时则应在变量名前加$;在给变量赋值时,等号两边必然不克不及留空格,若变量中自己就包罗了空格,则整个字串都要用双引号括起来。
在编写Shell法式时,为了使变量名和号令名相区别,建议所有的变量名都用大写字母来暗示。