Unix管道 - 回声和猫

时间:2015-05-29 09:43:40

标签: bash unix echo cat piping

我在Unix Bash Shell中遇到以下命令时出现问题:

echo "This is some text" | cat dashes - dashes

"破折号"是包含文本行的文件: " ---------------------------------"

根据我的理解,左命令的粗壮流成为正确的命令stdin流。我打算打印的是:

This is some text
---------------------------------

但实际印刷的是:

---------------------------------
This is some text
---------------------------------

所以我有两个问题:

  1. 当回声管道进入cat时,为了产生给定的输出会发生什么?

  2. "" - 破折号"在命令工作结束时?

1 个答案:

答案 0 :(得分:2)

这是预期的,因为{2}文件名之间的-表示打印来自 stdin 的所有数据。举个例子:

date | cat dashes - dashes
---------------------------------
Fri May 29 05:49:05 EDT 2015
---------------------------------