回答:
組み込みのシェルを実行します。
$ set +m
これは、「モニターモード」をオフにすることで機能し、シェルはバックグラウンドジョブの終了を報告しません。
次のようなサブシェルでコマンドを実行しますが:
$ (sleep 2&)
... メッセージも無効になります。それが機能する唯一の理由は、モニターモードがデフォルトでインタラクティブシェルに対してのみ有効になっているためです。つまり、サブシェルは、自動「set + m」を持つ追加のシェルを実行することにより、メッセージを回避します。
以前の2つの答えを明確にしたいと思います。シェルのコマンドから「完了」メッセージを表示したくない場合set +m
は、それが先です。それを.profileや.bashrcに入れるだけで完了です。ただし、これを入力すると次のことに注意してください。
set +m
sleep 2 &
set -m
finalの後にスリープが終了set -m
すると、完了メッセージが表示されます。
単一のコマンド呼び出しでメッセージを無効にしたい場合は、サブシェルの手法を使用します(sleep 2 &)
。
正直なところ、私は知っていたset +m
ので、私を啓発してWoobleに+1しました。ただし、2つのソリューションのどちらを使用するかは、何をしようとしているかによって異なることに注意してください。
jobs
何も表示されません)。