According to pipe methodology in Linux, the output of the first command should be treated as input for the second command. So when I am doing which cp | ls -l
, it should be treated as ls -l $(which cp)
But the output is showing something else.
Why so ?
ls
does not take input from stdin
. You can work around this if you need to by using xargs
:
which cp | xargs ls -l
This will invoke ls -l
with the (possibly multiple, if which
were to return more than one) filenames as command line arguments, with no standard input.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With