我在Unix Bash Shell中遇到以下命令时出现问题:
echo "This is some text" | cat dashes - dashes
"破折号"是包含文本行的文件: " ---------------------------------"
根据我的理解,左命令的粗壮流成为正确的命令stdin流。我打算打印的是:
This is some text
---------------------------------
但实际印刷的是:
---------------------------------
This is some text
---------------------------------
所以我有两个问题:
当回声管道进入cat时,为了产生给定的输出会发生什么?
"" - 破折号"在命令工作结束时?
答案 0 :(得分:2)
这是预期的,因为{2}文件名之间的-
表示打印来自 stdin 的所有数据。举个例子:
date | cat dashes - dashes
---------------------------------
Fri May 29 05:49:05 EDT 2015
---------------------------------