引用变量
双引号可以防止字符串被分割,即使参数中拥有很多空白分隔符,被包在双引号中后依旧是算作单一字符
List="one two three"
for a in $List # 空白符将变量分成几个部分。
do
echo "$a"
done
# one
# two
# three
for a in "$List" # 在单一变量中保留所有空格。
do # ^ ^
echo "$a"
done
# one two three
#更复杂一点的例子
variable1="a variable containing five words"
COMMAND This is $variable1 # 带上7个参数执行COMMAND命令:# "This" "is" "a" "variable" "containing" "five" "words"
COMMAND "This is $variable1" # 带上1个参数执行COMMAND命令:# "This is a variable containing five words"
variable2="" # 空值。
# 不带参数执行COMMAND命令。
COMMAND $variable2 $variable2 $variable2
# 带上3个参数执行COMMAND命令。
COMMAND "$variable2" "$variable2" "$variable2"
# 带上1个参数执行COMMAND命令(2空格)
COMMAND "$variable2 $variable2 $variable2"
转译
好的编程习惯就是在写多行命令的事后,无论什么情况都要在行尾加上转义符 \
唯爱与技术不可辜负
网友评论