the order of redirections is significant
In bash, if you put:
ls /Users/*/.ssh/id_rsa 2>&1 > rsa-keys.log
...you're redirecting stderr to the stdout's destination while stdout is still sending output to the screen. So any permission errors encountered will go to the screen, not to rsa-keys.log.
From the bash manpage:
==================
Note that the order of redirections is significant. For example, the command
ls > dirlist 2>&1
directs both standard output and standard error to the file dirlist, while the command
ls 2>&1 > dirlist
directs only the standard output to file dirlist, because the standard error was duplicated from the standard output before the standard output was redirected to dirlist.
==================
Commands given to the shell are evaluated and processed in a specific order and fashion, and this is one quirk of that that many people are unaware of.
exu
in reply to lousyd • • •<
in the same linesINeedMana
in reply to lousyd • • •|& tee dirlist
is easier to managelousyd
in reply to INeedMana • • •INeedMana
in reply to lousyd • • •2>&1
to work don't we need to be using some shell anyway?