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
私が尋ねる理由は、タブ補完コマンドの一部としてバックグラウンドプロセスを実行したいので、そのコマンドの出力が意味をなさないようにする必要があるためです。