バックグラウンドタスクも開始するスクリプトの結果を返したいのですが。コマンド置換演算子はバックグラウンドタスクを待機するため、呼び出しが遅くなります。問題を説明するために、次の例を作成しました。
function answer {
sleep 5 &
echo string
}
echo $(answer)
コマンドが作成するバックグラウンドジョブを待たずにコマンドを呼び出す方法はありますか?
ありがとう、
マーク
問題は、sleep
stdoutを継承し、開いたままにしておくことです。stdoutをリダイレクトするだけです。
answer() {
sleep 5 > /dev/null &
echo "string"
}
echo "$(answer)"
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加