问题:if [ "$变量1"x = "$变量2"x ]中x的含义是?编程
答:“x”字符能够为任意字符,用于防止变量为空时,某些版本的bash中会产生错误;安全
在一个混合测试中,即便使用引用的字符串变量也可能还不够,若是$string为空的话,[ -n "$string" -o "$a" = "$b" ]可能会在某些版本的BASH中产生错误,安全的作法是附加一个额外的字符给可能的空变量,如[ "x$sting" != x -o "x$a" = "x$b" ](“x”字符是能够互相抵消的)bash
引自:《高级bash脚本编程指南》测试