页次: 1
变量的赋值模式,用在使用变量的时候。
使用的时候只有两种情况。
第一: 变量已经赋值过了。
第二:变量没有赋值。
具体情况:
第一: 对于赋值的可以从新赋值,使用 = 赋值
[root@qd ~]# x=1 [root@qd ~]# echo $x 1 [root@qd ~]# x=2 [root@qd ~]# echo $x 2
第二: 对于已经赋值的变量, 重设值。 但是不改变原来的值
x=1 [root@qd ~]# echo ${x+2} 2 [root@qd ~]# echo $x 1
这里可以看到, 输出的是新的值。但是原来的值是没有变化的。
第三: 对于没有赋值的,进行赋值使用 := (冒号加等号)
[root@qd ~]# unset x [root@qd ~]# echo $x [root@qd ~]# echo ${x:=1} 1 [root@qd ~]# echo $x 1
开始先删除变量, 操作后 给没有赋值的变量赋了新的值。
第四: :-(冒号加减号) 赋值但是不保存, 也是对于没有赋值的变量
[root@qd ~]# unset x [root@qd ~]# [root@qd ~]# echo ${x:-1} 1 [root@qd ~]# echo $x [root@qd ~]#
可以看到这个打印是没有结果的。
第五: 最后一个 :? 或者?
这个表示 对于没有赋值的给出错误的提示,赋值了显示正常的值。
[root@qd ~]# unset x [root@qd ~]# echo ${x?1} -bash: x: 1 [root@qd ~]# x=1 [root@qd ~]# echo ${x?1} 1
ipbbs.net
离线
页次: 1