簡體   English   中英

Bash腳本-將變量包裝在引號中

[英]Bash Script - Wrapping Variables in Quotes

我在這里進行了一些閱讀,它建議我將變量包裝在引號中,以防該值包含空格。

如果我有以下腳本:

#!/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

因此,始終最好引用變量,而不用記住變量是否重要。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM