我正在做一些阅读here,它建议我将变量包装在引号中,以防值包含空格。
如果我有以下脚本:
#!/bin/bash
function checkDirectory()
{
local checkDir=$1
if [[ -d $checkDir ]] ; then
echo "File is directory"
fi
}
checkDirectory "/home/someuser/Downloads/"
如果我在参数中包装我的参数,在这种情况下,"/home/someuser/Downloads/"
,我还需要在引号中包装$ 1和checkDir吗?
答案 0 :(得分:1)
没有。您不必将$1
正确分配到checkDir
,并且bash的[[ ]]
不会进行单词拆分,您的脚本将按预期工作
但是,如果您使用sh
测试[ .. ]
,那么您将遇到以下问题:
if [ -d $checkDir ] ; then
echo "File is directory"
fi
所以引用你的变量总是很好的做法,而不是必须记住它很重要,什么时候不重要。