Bash - echo 中的语法

Bash - echo 中的语法

使用时/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,它也会在第一个版本中隐藏,但在第二个版本中不会。

相关内容