为什么我不能做类似'echo xx |光盘'

时间:2019-09-14 11:06:58

标签: shell pipe

就像标题一样:

cd mypath

..好..

echo mypath | cd

为什么类似的方法不起作用?

(我什么都不需要,只是出于好奇)

1 个答案:

答案 0 :(得分:3)

由于cd不从标准输入读取参数,因此将其作为参数。

但是您可以这样做...

cd `echo mypath`

使用反引号(``)将echo mypath解析为字符串并将其作为参数传递给cd。

我想您当然会尝试使用比echo更为精细的内容,因为以上内容完全等同于cd mypath

有关更多信息,请查找“流水线”。管道运算符“ |”从一个过程中获取标准输出文本流,并将其输入到另一个过程的标准输入流中。 cd根本不从标准输入流中读取内容,仅此而已。