我应该或不应该在 shell 脚本中用引号将变量括起来?
例如,以下是正确的:
xdg-open $URL
[ $? -eq 2 ]
或
xdg-open "$URL"
[ "$?" -eq "2" ]
如果是,为什么?
最佳答案
一般规则:如果它可以为空或包含空格(或任何空白)或特殊字符(通配符),请引用它。不使用空格引用字符串通常会导致 shell 将单个参数分解为多个参数。
$?
不需要引号,因为它是一个数值。 $URL
是否需要它取决于您在其中允许的内容以及如果它为空是否仍需要参数。
出于习惯,我倾向于总是引用字符串,因为这样更安全。
关于linux - 什么时候用引号括起 shell 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58601502/