lsから標準エラーを取り除く

lsから標準エラーを取り除く

存在しないファイル名を実行すると、出力はlsそれを報告します。その出力を削除したいのですが、ファイルが見つかったら報告し続けたいと思います。これはレポートの下のstderr出力ですか?

$> ls foo
ls: cannot access foo: No such file or directory

私はtcshを使用していますが、bashが代替かもしれません。

答え1

これはレポートの下のstderr出力ですか?

lsはい、可能です。使用しているバージョンによって異なりますが、ほとんどの実装ではstderrにエラーが出力されると思います。標準エラーを取り除くには、次のようにしますtcsh

( ls foo > /dev/tty ) >& /dev/null

答え2

いつでも次のことができます。

sh -c 'ls foo 2>/dev/null'

これは不正行為ですか?

関連情報