为什么 cd 命令在尝试使用另一个命令进行管道传输时不起作用
Why doesn't the cd command work when trying to pipe it with another command
我正在尝试使用带有 cd
和 ls
的管道,如下所示:
ls -l | cd /home/user/someDir
但什么也没发生。
我试过了:
cd /home/user/someDir | ls -l
似乎 cd
命令什么都不做,而 ls -l
将在当前目录上运行。
我尝试打开的目录有效。
这是为什么?是否可以使用 cd
/ ls
来传递命令?
使用管道时其他命令没有任何问题。
cd
没有输入也没有输出;因此,在管道中使用它没有意义(从左侧命令获取输出并将其作为输入传递给右侧命令)。
您在寻找 ls -l ; cd /somewhere
吗?
另一个选项(如果你需要列出目标目录)是:
cd /somewhere && ls -l
如果目标目录不存在,此处的'&&'将阻止执行第二个命令(ls -l)。
我正在尝试使用带有 cd
和 ls
的管道,如下所示:
ls -l | cd /home/user/someDir
但什么也没发生。
我试过了:
cd /home/user/someDir | ls -l
似乎 cd
命令什么都不做,而 ls -l
将在当前目录上运行。
我尝试打开的目录有效。
这是为什么?是否可以使用 cd
/ ls
来传递命令?
使用管道时其他命令没有任何问题。
cd
没有输入也没有输出;因此,在管道中使用它没有意义(从左侧命令获取输出并将其作为输入传递给右侧命令)。
您在寻找 ls -l ; cd /somewhere
吗?
另一个选项(如果你需要列出目标目录)是:
cd /somewhere && ls -l
如果目标目录不存在,此处的'&&'将阻止执行第二个命令(ls -l)。