2

変数の作成をBASHスクリプトでマルチスレッド化するにはどうすればよいですか?たとえば、スクリプトに以下の2行が含まれている場合、それらを同時に実行するにはどうすればよいでしょうか。

 export BOTSUBSTITUTIONS=$(less --buffers=-1 ./conf/substitutions.xml)
 export BOTPROPERTIES=$(less --buffers=-1 ./conf/startup.xml)

以下のこの例は機能しません。

export BOTSUBSTITUTIONS=$(less --buffers=-1 ./conf/substitutions.xml) &
export BOTPROPERTIES=$(less --buffers=-1 ./conf/startup.xml) &
wait
4

1 に答える 1

1

バックグラウンド プロセスの出力を別のファイルにリダイレクトし、バックグラウンド プロセスが終了するのを待って、結果を変数に戻します。例:

less --buffers=-1 ./conf/substitutions.xml >o1& o1=$!
less --buffers=-1 ./conf/startup.xml >o2& o2=$!
wait $o1 $o2
export BOTSUBSTITUTIONS=$(cat o1) ; rm -f o1
export BOTPROPERTIES=$(cat o2); rm -f o2
于 2012-10-17T22:30:03.547 に答える