シェルスクリプトの出力を無効にする

シェルスクリプトの出力を無効にする

私のシェルスクリプトでこの行を実行します。

sudo npm install -g yaml-cli -y 2>&1 >/dev/null

どんな結果も得られないと予想していましたが、まだ

npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue

答え1

リダイレクトは左から右に評価され、反対方向にも使用できます。リダイレクトを変更してください。

sudo npm install -g yaml-cli -y >/dev/null 2>&1

存在するsudo npm install -g yaml-cli -y 2>&1 >/dev/null

  • まず、 の場合2>&1STDERR(FD 2) が端末 (正確には STDOUT(FD 1) が現在接続されているところ、おそらく端末) に送信されるのでエラーが表示されます。

  • その後、>/dev/nullSTDOUTがに送信されます/dev/null。これは後で発生します。

関連情報