質問: `ls hoge >/dev/null` ls: hoge: No such file or directory ``` 私の理解では「2>&1 >/dev/null」と「>/dev/null」は 同じ処理だと思っていたのですが、違うということだと思います。 この違いをわかりやすく解説していただける方いらっしゃいましたら 是非教えてください!お願いします!
回答: > > 2>&1を先に記載してしまうとエラー出力先が変更されないので実質「意味がない」 > > > これは、標準エラー出力の出力先を、「その時点での」標準出力に変更するだけになって、結局は**そのままコンソールに出てくる**という意味です。あとから標準出力をファイルにリダイレクトしても、すでに標準エラー出力がコンソールに向くようになっているので、効果がありません。 > > この「意味がない」というのは > > 「2>&1」を書かなくても同じ処理になるということではないのでしょうか。 > > > 「意味がない」の意味を取り違えています。 シェルのリダイレクトを「こわいものなし」というくらい完全に理解しよう