bashでシェルファイルを作成していて下記のうような配列のループを作成した際に
diffで差分があると、出力結果に差分が表示されてループを抜けてしまいシェルファイルの最後まで到達しない。
bash jqdiff() { diff $1 $2 } for (( I = 1; I < ${#target_path1[*]}; ++I )) do cnt2=`expr $cnt2 + 1` echo "##########$cnt2" echo ${target_path1[I]} echo ${target_path2[I]} # diff start jqdiff ${target_path1[I]} ${target_path2[I]} #cat ${target_path2[I]} | $json_pretty done echo "END" exit 0
出力 ##########1 /var/www/USER/diff/HOGE1.json /var/www/USER/diff/HOGE2.json Files /dev/fd/63 and /dev/fd/62 are identical ##########2 /var/www/USER/diff/HOGE3.json /var/www/USER/diff/HOGE4.json 24c24 < "hogehoge": "2020-01-12T15:00:00Z", --- > "hogehoge": "2020-01-27T15:00:00Z", 43c43 < "hoge_time": "2019-12-27T15:00:00Z" --- > "hoge_time": "2020-01-12T15:00:00Z" 46c46 < "hoge_length": 384 --- > "hoge_length": 360
こちら、配列すべてループ回す方法ありますでしょうか?
回答2件
あなたの回答
tips
プレビュー