直到现在我才认为我理解了*nix管道... 我有一个可执行文件叫做studio
,它是链接到我安装的Android Studio
的,并且我曾经认为我可以通过以下方式获得链接到的位置:
which studio | ls -l
但是那样行不通。它给出的结果相当于只在当前目录下运行了 ls -l
命令。
如果我运行 which studio
,我会得到 /home/me/bin/studio
的路径。如果我运行 ls -l /home/me/bin/studio
,我将得到所期望的输出,显示符号链接的位置。
那为什么管道版本不起作用呢?我对管道的理解还有什么需要掌握的吗?
which studio | xargs ls
只会输出which的结果。为什么需要参数才能工作? - bdbdbdls $(which studio)
完全相同。对which
的输出进行ls
操作不会给你除了路径之外的任何信息,而ls
本身也只会给出路径信息。 - fedorqui