【问题标题】:What's the difference between echo $(filename) and cat filename?echo $(filename) 和 cat 文件名有什么区别?
【发布时间】:2021-09-16 07:11:51
【问题描述】:
echo $(cat filename) 

cat filename

为我产生相同的输出。为什么?

【问题讨论】:

  • 尝试在文件中添加多个空格和换行符,然后重试。还可以尝试前导和尾随换行符和空格。或者尝试使用“-n”、“-e”或任何其他类似选项的字符串开始您的文件
  • 另外,请注意echo $(cat filename)echo "$(cat filename)" 之间的区别
  • 您的标题提出的问题与实际问题不同。
  • @StevenLevnine :除了 ceving 给出的正确答案:如果文件的最后一个字符不是换行符,echo .... 将在输出中添加换行符,而仅仅是cat ....不会。

标签: linux shell terminal cat


【解决方案1】:

首先,您将获得"useless use of echo award"。第二个不是。

有一个转折点:echo 会将 $variable 中的任何空格“压平”为一个空格——当然,除非你双引号 $variable——,有时你可以合法地在反引号中使用 echo 来获得这种副作用.但这很少是必要或有用的,因此大多数情况下,这只是对 echo 的错误使用。

所以忘记第一个。它坏了。

【讨论】:

  • 从技术上讲,它有点复杂,因为echo 看到的参数是由IFS 的值决定的。 echo 自己编写这些参数,用一个空格分隔。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-06
  • 2019-03-22
  • 1970-01-01
  • 2015-10-28
  • 1970-01-01
  • 1970-01-01
  • 2015-07-22
相关资源
最近更新 更多