GNU Parallelを使用する場合、bashスクリプトでEXPORTを使用するのはどのくらい安全ですか?

GNU Parallelを使用する場合、bashスクリプトでEXPORTを使用するのはどのくらい安全ですか?

exportGNU 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実行するたびに&の値が再び表示されますか?STATUS1STATUS2

ベストアンサー1

環境変数は子プロセスに渡され、その逆の場合ではありません。

情報を親プロセスに転送するには、このデータを各子プロセスのファイルに保存し、子プロセスがcat終了した後にこのファイルにファイルを保存する必要があります。

tmp=$(mktemp -d)
child.sh $tmp/file & child_two.sh $tmp/file_two
wait 
cat $tmp/* 
rm $tmp -rf

一部の最適化を実行するには、より高いレベルの言語を使用できます。

おすすめ記事