私のコマンドは:
exec &>/dev/null
この&と完全なコマンドはここで何をしますか?私はそれがビットバケットにリダイレクトされていることを知っています。
&>
だけでなく、&
でもあります。
bash
では、&>
は標準出力ストリームと標準エラーストリームの両方をどこかにリダイレクトします。
したがって、utility &>/dev/null
はutility >/dev/null 2>&1
と同じです。
コマンドexec &>/dev/null
は、現在のシェルの両方の出力ストリームを/dev/null
にリダイレクトします(つまり、それ以降、スクリプトのすべての出力を破棄します)。
bash
マニュアルの関連部分:
Redirecting Standard Output and Standard Error
This construct allows both the standard output (file descriptor 1) and
the standard error output (file descriptor 2) to be redirected to the
file whose name is the expansion of Word.
There are two formats for redirecting standard output and standard
error:
&>Word
and
>&Word
Of the two forms, the first is preferred. This is semantically
equivalent to
>Word 2>&1
When using the second form, Word may not expand to a number or -. If
it does, other redirection operators apply (see Duplicating File
Descriptors below) for compatibility reasons.