shell运算符

2018-12-16  本文已影响0人  theache

1 declare

总结:declaer [-/+][选项] 变量名

   -://给变量舍得类型属性
   +://取消变量的类型属性
  -a://将变量声明为数组型
  -i://将变量声明为整型
  -x://将变量声明为环境变量
  -r://将变量声明为只读变量
  -p://查看变量的被声明的类型

示例

数字

aa=11
bb=22
echo $aa+$bb                  //输出 11+22
declare -i cc=$aa+$bb
echo $cc                      //输出 33

数组

arr[0]=a
arr[1]=b
declare -a arr[2]=c          //声明数组可以直接声明
echo ${arr}                  //输出数组第一个  a
echo ${arr[2]}               //输出下标为2的   c
echo ${arr[*]}               //全部输出  a b c

查看变量类型

declare -p                    //查看所有已声明的变量类型
declare -p aa                 //查看aa的变量类型

只读变量被声明后无法修改删除,只有重启后才会重置

2 shell 中的运算

aa=11
bb=22

#declare 略显繁琐
declare -I cc=$aa+$bb

#expr 运算符附近需要空格 略显繁琐
cc=$(expr $aa + $bb)

#$(())  推荐
cc=$(($aa+$bb))               //内部运算存在括号的时候推荐$(( ($aa+$bb) ))边上留空格

#$[] 推荐 但是注意不能与if [] 混淆
cc=$[$aa+$bb]
运算符优先级图

3 变量测试

规则
unset y                        //保证y为空
x=${y:-1}                      //$x=1
y=""
x=${y:-1}                      //$x=1
y=2
x=${y:-1}                      //$x=2
#类似于PHP中的     $x = $y:?1;
上一篇 下一篇

猜你喜欢

热点阅读