SHELL中引用变量使用引号与不使用的功能区别
shell中使用双引号的基础原则
`args='THIS IS A TEST'
$args #被IFS隔断成4个参数
"$args" #一个字符串整体
使用实例
使用默认IFS
line="1a 2b 3c 4d 5e"
echo $line #输出1a 2b 3c 4d 5e
echo "$line" #输出1a 2b 3c 4d 5e
array=($line)
echo ${array[0]} #输出 1a
array2=("$line")
echo ${array2[0]} #输出1a 2b 3c 4d 5e
for i in $line #输出1a
do # 2b
echo $i # 3c
done # 4d
# 5e
for i in "$line" #输出1a 2b 3c 4d 5e
do
echo $i
done
使用 ‘,’ 作为IFS
line="1a,2b,3c,4d,5e"
IFS=$","
echo $line #输出1a 2b 3c 4d 5e
echo "$line" #输出1a,2b,3c,4d,5e
array=($line)
echo ${array[0]} #输出 1a
array2=("$line")
echo ${array2[0]} #输出1a 2b 3c 4d 5e (逗号转换)
for i in $line #输出1a
do # 2b
echo $i # 3c
done # 4d
# 5e
for i in "$line" #输出1a 2b 3c 4d 5e (逗号转换)
do
echo $i
done