次のようにサブシェルで一連のコマンドを実行します。
(git pull;git rebase develop)&>/dev/null
私はこれが作成されたサブシェルとサブプロセスをバックグラウンドに置き、ユーザーに制御を返すと思います。
しかし、実際には端末がしばらく停止し、サブシェルのコマンドが完了するのを待っているようです。
それでは、なぜこれが起こり、そのようなことを行う正しい方法が何であるかを説明できる人はいますか?
ベストアンサー1
bash
シェルを実行すると、標準出力とエラーストリームは(と同じ)にリダイレクトされますが、サブシェルは非同期&>/dev/null
プロセスとして実行されません。これを行うには、最後に追加のコンテンツを追加する必要があります。/dev/null
>/dev/null 2>&1
( ... )
&
(git pull; git rebase develop) &>/dev/null &
ksh93
そのような機能はなく、POSIXでは使用できません。