使用时/bin/bash
,以下两种情况有什么区别:
- 回显$IFS
- 回显“$IFS”
我观察到不同的输出。
答案1
"$IFS"
将是一个参数。 the 的功能""
是将其中的空格限制为一个带有空格的单词。
例如,如果 IFS 包含a__b
(想象空格而不是 s _
),那么
echo "$IFS"
将位于变量 substutition: 之后echo "a b"
,因此该echo
命令将获得单个参数。因此,它将打印:a b
。
Whileecho $IFS
将被替换为echo a b
,这意味着它echo
有两个参数: ana
和 a b
。因此,它将打印:a b
。
还有其他差异,例如,如果 IFS 包含 Enter,它也会在第一个版本中隐藏,但在第二个版本中不会。