0

これらの bash コマンドはどの順序で実行されますか? 1行目または2行目が終了する前に4行目が始まる可能性はありますか?

find $LOCAL_TMP -type f -exec grep -l 'operationType="ACTIVATION"' {} ';' | xargs grep -l 'serviceCode="ACC-FTTS' | xargs -ICrTopoIpnatif mmv CrTopoIpnatif $LOCAL_TOPO

find $LOCAL_TMP -type f -exec grep -l 'operationType="DEACTIVATION"' {} ';' | xargs grep -l 'serviceCode="ACC-FTTS' | xargs -ICrTopoIpnatif mmv CrTopoIpnatif $LOCAL_TOPO

echo "mmv $LOCAL_TMP/**/*.xml $REP_LOCAL" >> $LOGFILE
mmv "$LOCAL_TMP/**/*.xml" "$REP_LOCAL" >> $LOGFILE

$REP_LOCAL (別のスクリプトのプール ディレクトリであり、ファイルはスクリプトのログに表示されます) にファイルが見つかり、$LOCAL_TOPO (スクリプトのログには何もありません) にファイルが見つからなかったので、質問しています。

4

2 に答える 2

3

シーケンシャルです。すべてが順番に行われます。次のヘッダーを使用してスクリプトを実行する場合

#!/bin/bash -x

次に、実行時に各コマンドが表示されます。

于 2012-12-07T15:41:43.903 に答える
2

すべてのコマンドをフォアグラウンドで実行する限り、コマンドはスクリプトで指定した順序で実行されます。

command1
command2
command3

次々と実行されます。

ここ

command1 &
command2
command3

command2 と command3は、command1 が他の 2 つよりも終了するのに時間がかかる場合、command1 の前に終了する可能性があります。これは、最初の例ではすべてのコマンドがフォアグラウンドで順番に実行されるのに対し、command1 と command2 およびそれ以降の command3 は並行して実行されるためです。

于 2012-12-07T15:50:30.037 に答える