根据 Linux 中的管道方法,第一个命令的输出应该被视为第二个命令的输入。所以当我在做 which cp | ls -l
,应该当作ls -l $(which cp)
但输出显示的是其他内容。
为什么会这样?
最佳答案
ls
不接受来自 stdin
的输入。如果需要,您可以使用 xargs
解决此问题:
which cp | xargs ls -l
这将使用(如果 which
返回多个)文件名作为命令行参数调用 ls -l
,没有标准输入。
关于linux - 为什么 "which cp | ls -l "不被视为 "ls -l $(which cp)"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27342434/