shell 变量赋值与替换
2015-01-26 16:30
399 查看
:= 如${var1:=pppp}
情形一:var1未被定义或值为空就把:=后的值赋值给变量var1
得出结果:echo ${var1:=pppp} #pppp
echo $var1 #pppp
情形二:如 var2="hello world";${var2:="thank you"} 当变量var2的值不为空,此表达式不改变变量的值
得出结果:echo ${var2:=pppp} #hello world
echo $var2 #hello world
总结:(:= )会比较它两边的值,判断左边的变量是否不为空,不为空值不变,否则就把右边的值赋值给左边的变量
= 如${var3=ppppp} 当var3 未被定义时,就把ppppp赋值给var3,若已定义即使值为空也不会把ppppp赋值给变量var3
文字描述太罗嗦,还是画个表格
以下表格以var变量名为例 $ {var 操作符号 "hello world"}, null 表示值为空,在终端体现为 空行
本文来自:Linux学习教程网
情形一:var1未被定义或值为空就把:=后的值赋值给变量var1
得出结果:echo ${var1:=pppp} #pppp
echo $var1 #pppp
情形二:如 var2="hello world";${var2:="thank you"} 当变量var2的值不为空,此表达式不改变变量的值
得出结果:echo ${var2:=pppp} #hello world
echo $var2 #hello world
总结:(:= )会比较它两边的值,判断左边的变量是否不为空,不为空值不变,否则就把右边的值赋值给左边的变量
= 如${var3=ppppp} 当var3 未被定义时,就把ppppp赋值给var3,若已定义即使值为空也不会把ppppp赋值给变量var3
文字描述太罗嗦,还是画个表格
以下表格以var变量名为例 $ {var 操作符号 "hello world"}, null 表示值为空,在终端体现为 空行
符号 | 变量 | |||||
未定义 | 值为空 | 值不为空(为"shellvalue") | ||||
echo ${var操作符号"hello world"} | echo $var | echo ${var操作符号"hello world"} | echo $var | echo ${var操作符号"hello world"} | echo $var | |
:= | hello world | hello world | hello world | hello world | shell value | shell value |
= | hello world | hello world | null | null | shell value | shell value |
:+ | null | null | shell value | hello world | hello world | shell value |
+ | null | null | null | null | hello world | shell value |
:- | hello world | null | hello world | null | shell value | shell value |
- | hello world | null | null | null | shell value | shell value |
:? | 返回一个错误信息 bash: var: hello world | null | 返回一个错误信息 bash: var: hello world | null | shell value | shell value |
? | 返回一个错误信息 bash: var: hello world | null | null | null | shell value | shell value |
相关文章推荐
- shell 变量赋值与替换
- 单引号内引入变量 shell 命令输出赋值给变量,以及用变量替换命令
- shell 变量赋值和替换
- 找了好久:awk 赋值给 shell 变量的方法
- shell 脚本变量赋值
- SHELL 中直接替换 template 中变量方法
- shell脚本获取一个文件的行数赋值给变量
- Shell获取标准错误并赋值给变量
- Shell替换:Shell变量替换,命令替换,转义字符
- shell脚本之sed使用----替换、变量、转义字符
- shell中奇怪的变量赋值
- SHELL 关于变量的赋值和脚本中的子SHELL中变量的变化
- shell变量赋值进阶
- shell变量里的字符替换
- 注意区分shell与Makefile中变量赋值的区别
- shell 中的赋值和替换
- shell 变量的赋值
- shell中的变量赋值
- shell 脚本中将输出内容赋值给一个变量时不换行
- shell中几种括号的结构和变量替换