我正在查看一些 shell 脚本 - comarison shcu 中 x 的用途是什么
if [ "x$USER" != "x$RUN_AS_USER" ]; then
su - $RUN_AS_USER -c "$CATALINA_HOME/bin/startup.sh"
else
$CATALINA_HOME/bin/startup.sh
fi
如果其中一个变量为空,这是一个确保在替换中不会得到空字符串的技巧。通过把x
两侧与直接比较变量相同,但两侧始终不为空。
这是一个古老的拼凑,当脚本编写为以下形式时更有意义:
if [ x$USER != x$RUN_AS_USER ]
如果你刚刚有的话$USER
然后它是空的然后你可能会得到
if [ != root ] # Syntax error
随着x
你得到这个,这是更好的:
if [ x != xroot ]
然而,当变量被引用时x
是不必要的,因为引号中的空字符串没有完全删除。它仍然显示为令牌。因此
if [ "$USER" != "$RUN_AS_USER" ] # Best
是最好的写法。在最坏的情况下,两个变量都为空,您会得到以下有效语句:
if [ "" != "" ]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)