web-dev-qa-db-ja.com

zshとbashを使用してすべてのコマンド出力を非表示にする方法

端末で書き込まれ出力されるすべての出力を非表示にするにはどうすればよいですか?

言い換えれば、私は文字列を追加しようとしています

>/dev/null 2&>1

私が書くすべてのコマンドに。

  • Bashでどうしますか?
  • Zshでどうしますか?
  • 理想的には、任意の端末を考慮に入れた構成を持つ方法。
1
user123456

zsh

次の2つのコマンドを実行することにより、次のコマンドのstdoutとstderrを/dev/nullにリダイレクトできます。

exec >/dev/null
exec 2>/dev/null

:これにより、プロンプトとコマンドラインで入力したものはすべて表示されますが、それ以外はほとんど表示されません。

bash

次のコマンドでstdoutとstderrをリダイレクトできます

exec >/dev/null 2>&1

  • これにより、プロンプトやコマンドラインに入力したものを含む出力が抑制されます。

  • 出力を再度有効にするには、次を実行します

    exec >/dev/tty
    exec 2>/dev/tty
    
2
Adaephon