次のようなコードのbashスクリプトがあります。
echo "EXECUTING TASK 1"
sort -r scripts/sh/test-list | while read fn; do
sh -vx scripts/sh/test-web-task.sh "$fn"
done
echo "EXECUTING TASK 2"
sort -r scripts/sh/test-unit-list | while read fn; do
sh -vx scripts/sh/test-unit-task.sh "$fn"
done
test-web-task と test-unit-task では、grails を呼び出していくつかのテストを実行し、パッケージ化を行います。このようなもの:
grails test-app $1
mv results backup/$1
ファイル scripts/sh/test-unit-list および scripts/sh/test-list には、実行するテストのリストがあります。このようなもの:
Person
Book
最初のループは、ファイル scripts/sh/test-list のすべての行を実行せずに中断し、2 番目のループの実行を開始します。
ご覧のとおり、何が問題なのかを確認するために、sh に -vx を追加しました。しかし、私は間違っていることを見つけることができません。
おそらく、scripts/sh/test-list の何かがクラッシュし、ループが壊れていると思います。この場合、何がクラッシュしているのかを知りたいのですが、ループが途切れることなく続くようにしたいのです。
ポインタを教えてもらえますか?