在shell指令碼中,引用變數時有幾種形式: $dir "$dir" "${dir}" ,每種形式的含義不同
$dir
: 這種形式的變數名是最簡單的形式,表示直接引用變數的值。在這種情況下,如果變數的值包含空格或特殊字元,則會被解釋為單個引數。"$dir"
: 表示引用變數的值,並保留其中的空格和特殊字元。雙引號將變數的值看作一個整體。這種形式通常用於需要保留空格、特殊字元或對變數進行字串插值的情況。- "${dir}": 使用
${}
來引用變數,這種形式通常用於在變數名後面緊跟其他字元,以明確指示變數名的邊界。${dir}
也可以用於在變數名中包含特殊字元,或在字串中嵌入變數.
例項:
#!/bin/bash dir="path/to/directory" file_name="my file.txt" # 不使用引號 echo $dir # 輸出:path/to/directory # 使用雙引號 echo "$dir" # 輸出:path/to/directory echo "$file_name" # 輸出:my file.txt # 在變數名後面緊跟其他字元 echo "${dir}name" # 輸出:path/to/directoryname # 用於在變數名中包含特殊字元 echo "${dir}_suffix" # 輸出:path/to/directory_suffix # 用於在字串中嵌入變數 echo "The file is: ${dir}/${file_name}" # 輸出:The file is: path/to/directory/my file.txt