zoukankan      html  css  js  c++  java
  • 二、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 表示文件名

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

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

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

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

  • 相关阅读:
    poj 2186 && hdu 3836
    poj 2833 The Average
    hud 3062 Party
    论 ACM 与泡妞 (转载)
    poj 1064 Cable master
    poj Candies
    [转]人才流失的背后
    获取存储过程的ReturnValue值
    javascript js jquery获取元素位置代码总结
    【引用】xmlpath 操作 xml
  • 原文地址:https://www.cnblogs.com/dangjingwei/p/11594952.html
Copyright © 2011-2022 走看看