本部主要介绍:Shell 编程时,变量测试与内容替换对照表,及演示变量的测试
-
介绍变量测试作用
echo
是输出到屏幕上(用户查看)。编写脚本时,得用测试变量的方法检测变量得值使用系统支持的一种格式,来检测变量是否存在。这种方式完全可以自定义脚本使用
if
来完成-
固定格式(
:
冒号的区别,当 y 为空,x得取值相反)变量置换方式 变量 y 没有设置 变量 y 为空值 变量 y 设置值 x=${y-新值}
x=新值
x为空
x=$y
x=${y:-新值}
x=新值
x=新值
x=$y
x=${y+新值}
x为空
x=新值
x=新值
x=${y:+新值}
x为空
x为空值
x=新值
x=${y=新值}
x=新值
y=新值
x为空
y 的值不变
x=$y
y 的值不变
x=${y:=新值}
x=新值
y=新值
x为新值
y为新值
x=$y
y 的值不变
x=${y?新值}
新值输出到标准的错误输出(当成报错输出到屏幕)
x为空
x=$y
x=${y:?新值}
新值输出到标准的错误输出
新值输出到标准的错误输出
x=$y
-
实例
-
测试
x=${y-新值}
-
变量 y 不存在
ss@localcomputer:~$ unset y # 删除变量 y ss@localcomputer:~$ x=${y-"new"} # 进行测试 ss@localcomputer:~$ echo $x new # 因为变量 y 不存在,所以 x=new ss@localcomputer:~$
-
变量 y 为空
ss@localcomputer:~$ y="" # 设变量 y 为空 ss@localcomputer:~$ echo $y ss@localcomputer:~$ x=${y-"new"} ss@localcomputer:~$ echo $x # 变量 x 也为空 ss@localcomputer:~$
-
变量 y 有值
ss@localcomputer:~$ y="old" ss@localcomputer:~$ echo $y old ss@localcomputer:~$ x=${y-"new"} ss@localcomputer:~$ echo $x old # x 值为 y 的值 ss@localcomputer:~$
-
:
冒号的区别(y为空,x 为新值)ss@localcomputer:~$ y="" ss@localcomputer:~$ x=${y:-"new"} ss@localcomputer:~$ echo $x new # x 不在为空,x 为新值 ss@localcomputer:~$
-
-