shell脚本编程 变量及运算符

变量:
环境变量:系统已经定义好的变量,可以直接用
USER UID HOME
通过env这个命令去查看系统变量
set
UID为0的用户就是root用户

  用户变量:需要用户之间定义的变量
       变量名=变量的值
       a=10

  查看变量:
   # echo  $变量名

 双引号和单引号的区别:
“”:如果包含变量,输出变量的值
‘’:里面是什么,输出的就是什么
 定界符:
 ``:将里面包含的命令的输出结果显示出来

 变量名跟常量名拼接的时候:
  {}:区分变量和常量
   # echo ${a}log

  变量的范围:
      局部变量:只针对本次shell有效
              尽量在脚本里定义赋值变量
      全局变量:环境变量就是典型的全局变量
              export  可以声明变量为全局变量
                      但不建议

     # bash  进入子进程中

   删除变量:
   # unset  变量名

shell中涉及到的命令:
read 命令
实现从键盘读取输入的内容赋值给变量名

       read -p  “提示内容:”   user
            -t   设置超时的时间 
       echo  $user
  运算符:
    +    -    *    /     %
    +=
    -=   *=   /*    %=


   执行运算:
   1. $(( a  *  b ))
         可以用空格
         里面的运算符不需要转义
          如果和字符串相加,字符串的变量默认为0
          不支持浮点数运算


   2. expr  a  +  b
        数字两遍必须有空格  (空格要一个以上)
        里面的运算符需要转义  转义符 \
        不支持数字和字符串相加


   3. []  使用方括号
         echo  $[a*b]
         echo   $[a+b]
           可以直接调用变量的值,无需添加$符号
           可以有空格
           里面的运算符不需要转义
           不支持浮点数运算


   浮点数运算:
       bc      //linux自带的计算器
               //支持变量运算
       scale   //指定小数点后面保留几位

       如何应用到脚本中:
          用管道符号:
           # echo  “scale=5,; 10/3” |  bc


        运算多行:
          d=`bc <<  EOF            d=$(bc <<  EOF
           1+2                       1+2
           3+4                       3+4
           5*6                       5*6
           EOF                       EOF
           `                         )
           
     ``  和 $ (命令)
           //效果是一样的


  退出状态:
        # echo  $?
         查看上一个命令执行的退出状态
         返回值为0时,代表命令执行成功
         非0的正整数时,执行不成功
         0-255
         exit=$(echo $?)

         0     命令成功结束
         1     一般性未知错误
         2     不适合shell的命令
         126   命令不可执行
         127   命令未找到
         128   无效的退出参数
         130   通过Ctrl+c 终止得命令
         255   正常范围之外的退出状态码

         状态码是可以自己定义的: 0-255
                   a=10
                   exit  $a
                 //自定义返回值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值