if [ "$变量1"x = "$变量2"x ]中x的含义

问题: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脚本编程指南》测试

相关文章
相关标签/搜索