12行目の「for」文で写真データの数だけ、17行目の「do」と34行目の「done」の間にある処理を繰り返し実行します。写真データのファイル名は、変数「i」に一つずつ代入されます。for文については、第1回を参照してください。
14行目の「jp2a –colors -f ${i}」で、JPEG形式の画像をアスキーアートに変換して表示するjp2aコマンドを実行しています。「–colors」オプションを付けるとカラーで表示します。「-f」は端末サイズに合わせて表示するオプションです。
16行目から26行目までは、新しい名前の入力および重複のチェックです。16行目の「while」文では条件式が成り立っている場合、17行目の「do」と26行目の「done」の間にある処理を繰り返し実行します。while文の基本書式は、次のようになります。
1 2 3 4 |
while [ 条件式 ] do 処理 done |
「[」「]」はコマンドなので、前後に半角スペースが必要です。ここでの条件式は「${name_check} = “1”」になります。name_check変数が「0」のときにファイル名の重複がないことを表し、while文の繰り返し処理から抜けます。