二、Shell脚本高级编程实战第二部

一、什么是变量?

变量就是一个固定的字符串替代更多更复杂的内容,当然内容里面可能还有变量、路径、字符串等等内容,最大的特点就是方便,更好开展工作

1.变量有环境变量(全局变量)和局部变量

环境变量就是全局变量,可以在创建他们的shell及派生shell都可以用

局部变量只能在创建他们的shell中使用。

个人认为这个也不是很严谨,因为就像之前上篇讲到的,如果在某个脚本中定义了一个局部变量,例如:source   xx.sh   或者   .(点) xx.sh  呢?  同样可以调用脚本中的变量。

二、环境变量

环境变量用于定义shell运行环境,保证shell命令的正确执行。所有的环境变量都是全局的,脚本随便用,因为脚本的执行首先执行的是环境变量加载一遍;一般情况下在.bash_profile文件中或者全局配置/etc/profile,/etc/bashrc文件或者/etc/profile.d中定义。将环境变量放入profile中,每次用户登陆就可以初始化了。

传统情况下,环境变量都是大写。通过命令env、set进行查看系统定义的一些环境变量。

一般每一个用户下面都有.bashrc和.bash_profile文件;全局环境下是/etc/profile文件 和/etc/bashrc ,/etc/profile.d ;特别说明的是,/etc/motd下面一般是登陆后显示的字符串

三、局部变量

只是在当前的shell中生效。

无论是局部变量或者全局变量,默认情况下,数字不加引号,其他都加双引号。

四、单引号、双引号

单引号:所见及所得

双引号:直接输入内容,如果里面有变量要输出,请用反引号

五、关于变量的定义,多多模仿系统自带的/etc/init.d/functions函数库脚本定义思路。

六、shell特殊变量

1.      $0 获取脚本的文件名,如果带路径,则保留脚本的路径

dirname  表示路径    basename 表示文件名 二、Shell脚本高级编程实战第二部

2. $n    表示脚本的传参 ,$1 $2  ....${10}

3. $#   获取当前shell脚本命令行中参数的总个数,一般用在判断参数的个数

4.  $?   获取上一个命令的返回值

在脚本中 exit 1,给当前shell返回执行的状态,赋值给当前shell的$?这个变量,函数的话一般给return,没有给的话,按照系统默认的给抛。

上一篇:php.ini中文翻译版--转载


下一篇:wsdl.exe的用法与参数说明