Bash脚本 - 在行情中包装变量

时间:2015-03-15 13:29:10

标签: linux bash unix

我正在做一些阅读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 个答案:

答案 0 :(得分:1)

没有。您不必将$1正确分配到checkDir,并且bash的[[ ]]不会进行单词拆分,您的脚本将按预期工作

但是,如果您使用sh测试[ .. ],那么您将遇到以下问题:

if [ -d $checkDir ] ; then 
    echo "File is directory"
fi

所以引用你的变量总是很好的做法,而不是必须记住它很重要,什么时候不重要。