大家,我今天下午发现了这个奇怪的问题(也许是一个功能)。在我当前的工作目录中,有5个文件,分别是a,b,c,d,e
如果我发出以下命令
echo "a" | ls -l
我所期望的只是列出了文件 a 的详细信息。但从输出中,列出了文件 a、b、c、d、e 的详细信息。似乎管道之前的命令不起作用,例如,以下命令将完全输出,就好像只ls -l
执行了一样。
echo "whatever_you_type" | ls -l
我很困惑,有人可以帮助解释这个问题吗?我知道我可以通过使用来解决这个问题xargs
,比如echo "a" | xargs ls -l
但我想知道为什么。