我读了一些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? 最佳答案
不,你不必,因为$1
将被正确分配给checkDir
,bash的[[ ]]
不会进行分词,你的脚本将按预期工作。
但是,如果您使用sh
test[ .. ]
测试,那么您将遇到以下问题:
if [ -d $checkDir ] ; then
echo "File is directory"
fi
所以引用你的变量总是一个很好的做法,而不是必须记住它很重要。
关于linux - Bash脚本-将变量包装在引号中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29061148/