我应该或不应该在 shell 脚本中用引号括住变量吗?
例如,下列说法正确的是:
xdg-open $URL
[ $? -eq 2 ]
or
xdg-open "$URL"
[ "$?" -eq "2" ]
如果是这样,为什么?
一般规则:如果它可以为空或包含空格(或实际上任何空格)或特殊字符(通配符),则引用它。不使用空格引用字符串通常会导致 shell 将单个参数分解为多个参数。
$?
不需要引号,因为它是一个数值。无论$URL
是否需要它取决于您允许的内容以及如果它为空您是否仍然需要一个参数。
我倾向于出于习惯总是引用字符串,因为这样更安全。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)