我在Unix Bash Shell中遇到了以下命令的问题:
“dashes”是一个包含文本行“---------------------------------”的文件。
根据我的理解,左侧命令的标准输出流变为右侧命令的标准输入流。我期望打印出来的内容是:
但实际上打印出来的是这样的:
echo "This is some text" | cat dashes - dashes
“dashes”是一个包含文本行“---------------------------------”的文件。
根据我的理解,左侧命令的标准输出流变为右侧命令的标准输入流。我期望打印出来的内容是:
This is some text
---------------------------------
但实际上打印出来的是这样的:
---------------------------------
This is some text
---------------------------------
所以我有两个问题:
当echo管道输入到cat时,会发生什么,使得输出结果如此?
命令末尾的“-破折号”是如何起作用的?
man cat
所说,-
表示标准输入,因此cat dashes - dashes
的意思是连接dashes
、标准输入和dashes
。 - Biffen