2013-05-22 12 views

答えて

5

単に新しいシェルを起動します。

bash >/dev/null 2>&1 

今、あなたはコマンドにブラインドを入力することができます:)あなたはそのモードタイプのままにしたい場合:exit

をしかし、入力したコマンドは盲目なり、通常ではない何欲しいです。だから私は、script.shのようなテキストファイルを作成することをお勧めそれであなたのコマンドを配置します:

command1 foo 
command2 bar 

と使用してそれを実行するよりも:

bash script.sh >/dev/null 2>&1 

をそのスクリプト内のすべてのコマンドの出力に含まをにリダイレクトされます/ dev/null now

+0

bash?それはコマンドですか?もちろん、 – TheForbidden

+1

はい。新しい 'bash'シェルを起動します。 – hek2mgl

+0

私はこれを得た: [1] 13407 のbash:2:そのようなファイルまたはディレクトリ 1: [1] + [終了127 bashの2>を/ dev/null – TheForbidden

0

スクリプトやその他の実用的な目的のためには、コマンドをグループ化するのが最適です。

exec > /dev/null 2>&1 

hex2mglあなたはインタラクティブシェルでこれを行う場合は、あなたもシェルとして、もはやあなたのプロンプトが表示されません、指摘したように:それは、コマンドなしで使用exec特にAny redirections (see Redirections) associated with a compound command apply to all commands within that compound command unless explicitly overridden.

3

を言うhttp://www.gnu.org/software/bash/manual/html_node/Compound-Commands.htmlをチェックそれを標準エラーに出力します。私は対話的に実行されるコマンドからのすべての出力を無視するのには意味がないので、これはスクリプトを対象としていると仮定しています:)

+0

端末がブロックされています – TheForbidden

+0

ブロックされていません。要求されたすべての出力(プロンプトを含む標準出力と標準エラーの両方)は、 '/ dev/null'にリダイレクトされています。 – chepner

+0

エラー出力のみをリダイレクトしたいのですか? – TheForbidden

関連する問題