有人能告诉我是否应该在shell脚本中包含变量的引号?
例如,以下是正确的:
xdg-open $URL
[ $? -eq 2 ]
Run Code Online (Sandbox Code Playgroud)
要么
xdg-open "$URL"
[ "$?" -eq "2" ]
Run Code Online (Sandbox Code Playgroud)
如果是这样,为什么?
我试图用bash编写一个脚本来检查用户输入的有效性.
我想将输入(比如变量x)与有效值列表进行匹配.
我现在想出的是:
for item in $list
do
if [ "$x" == "$item" ]; then
echo "In the list"
exit
fi
done
Run Code Online (Sandbox Code Playgroud)
我的问题是,是否有一种更简单的方法可以做到这一点,
就像list.contains(x)大多数编程语言一样.
增加:
说清单是:
list="11 22 33"
Run Code Online (Sandbox Code Playgroud)
我的代码将仅针对这些值回显消息,因为list它被视为数组而不是字符串,所有字符串操作都将1在我希望它失败时进行验证.