bashでバックグラウンドでプロセスを実行するのはかなり簡単です。印刷ジョブとプロセスIDを持たないバックグラウンドでbashコマンドを実行する
$ echo "Hello I'm a background task" &
[1] 2076
Hello I'm a background task
[1]+ Done echo "Hello I'm a background task"
ただし、出力は冗長です。最初の行には、バックグラウンドタスクのジョブIDとプロセスIDが表示されます。次に、コマンドの出力があり、最後にジョブID、ステータス、およびジョブをトリガしたコマンドがあります。
最後にアンパサンドがない場合と同じように出力が表示されるようにバックグラウンドタスクを実行する出力を抑制する方法はありますか?すなわち:
$ echo "Hello I'm a background task" &
Hello I'm a background task
私が尋ねる理由は、私はそのコマンドの出力は何の意味を作るために中断しないこと、しなければならないので、タブ補完コマンドの一部としてバックグラウンド・プロセスを実行したいということです。
私は、bash-completionスクリプトの中で何かに2>/dev/nullを追加することをお勧めします。 – sehe