防止出现语法错误。如果不写x,只用 if [ “${var}" == “0” ]来判断${var}的值,当${var}为空或未设置时,语句被解释为 if [ == "0" ],出现语法错误。加上x后,当${var}为空或未设置时,解释为if [ “x" == "x" ] ,依然正确。
if [ “x${var}" == “x” ]整句的意思是判断${var}是否为空。
补充提醒shell的奇葩语法:
= 与 == 在 [ ] 中表示判断(字符串比较)时是等价的;
在 (( )) 中 = 表示赋值, == 表示判断(整数比较),它们不等价;
而()、(())、[]、[[]]又是有区别的。。。
shell真是最值得被替代的一个老古董!