export
GNU Parallelを使用するときにbashスクリプトで使用するのはどのくらい安全ですか?
親スクリプトがあります。 parent.sh
(echo child.sh & echo child_two.sh) || parallel bash
wait
if [[ "$STATUS1" == "0" && "$STATUS2" == "0" ]];
then
//continue
else
//stop the process
fi
child.sh
STATUS1
他のプロセスベースの取得
export STATUS1
child_two.sh
他のプロセスに基づいてSTATUS2をインポートする
export STATUS2
使用するのは安全ですか?export
実行するたびに&の値が再び表示されますか?STATUS1
STATUS2
ベストアンサー1
環境変数は子プロセスに渡され、その逆の場合ではありません。
情報を親プロセスに転送するには、このデータを各子プロセスのファイルに保存し、子プロセスがcat
終了した後にこのファイルにファイルを保存する必要があります。
tmp=$(mktemp -d)
child.sh $tmp/file & child_two.sh $tmp/file_two
wait
cat $tmp/*
rm $tmp -rf
一部の最適化を実行するには、より高いレベルの言語を使用できます。