尝试使用另一个命令

时间:2015-12-19 07:13:56

标签: linux bash pipe ls

我尝试使用cdls这样的管道:

ls -l | cd /home/user/someDir

但没有任何反应。

我试过了:

cd /home/user/someDir | ls -l

似乎cd命令不执行任何操作,而ls -l将在当前目录中起作用。

我尝试打开的目录有效。

为什么?是否可以使用cd / ls管道命令? 使用管道时,其他命令没有任何问题。

1 个答案:

答案 0 :(得分:9)

cd不接受任何输入并且不产生输出;因此,在管道中使用它是没有意义的(它从左命令获取输出并将其作为输入传递给右命令)。

您在寻找ls -l ; cd /somewhere吗?

另一个选项(如果您需要列出目标目录)是:

cd /somewhere && ls -l

'&&'如果目标目录不存在,这将阻止执行第二个命令(ls -l)。