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;
网友评论