示例
if [ "x${var}" == "x" ]
if [ x"$DPVS_TYPE" == x"SNAT" ]
目的
防止出现语法错误。
分析
因为如果不写x,只用 if [ “
v
a
r
=
=
"
0
"
]
来
判
断
{var} == "0" ]来判断
var=="0"]来判断{var}的值;
当
v
a
r
为
空
或
未
设
置
时
,
语
句
被
解
释
为
i
f
[
=
=
"
0
"
]
,
出
现
语
法
错
误
。
加
上
x
后
,
当
{var}为空或未设置时,语句被解释为 if [ == "0" ],出现语法错误。 加上x后,当
var为空或未设置时,语句被解释为if[=="0"],出现语法错误。加上x后,当{var}为空或未设置时,解释为if [ “x” == “x” ] ,依然正确。
所以:if [ "x v a r " = = " x " ] 整 句 的 意 思 是 判 断 {var}" == "x" ] 整句的意思是判断 var"=="x"]整句的意思是判断{var}是否为空。
tip:${var} 不一定能取出值,如果没有取出值,那么默认就是空白。