- 2行目
-
select code in UTF-8 EUC Shift-JIS JIS ;do
- UTF-8、EUC、Shift-JIS、JISのそれぞれが選択肢となって表示される。
1)UTF-8
2)EUC
3)Shift-JIS
4)JIS
のように番号が自動で付加され、実際の選択はこの番号で行う。
ただし、代入される値は文字列(元々の選択肢)となる。
- UTF-8、EUC、Shift-JIS、JISのそれぞれが選択肢となって表示される。
-
- 3行目
-
[ -n “$code” ] && break
- 変数codeに値が含まれていれば(Nullでなければ)select文をブレークする(終了する)。
select文が行うのはあくまで変数codeにUTF-8、EUC、Shift-JIS、JISのいずれかの文字列を格納することなので、Nullでない=命令文の目的を果たしたということだから。
- 変数codeに値が含まれていれば(Nullでなければ)select文をブレークする(終了する)。
-
- 9行目、12行目、15行目、18行目
- ;;
- 23行目
- shift
- 引数として複数のファイルを指定できる(複数ファイルを一度にコード変換できる)ため、コード返還ごとに引数($1)を一つ前倒しして次のファイルを第一引数にし、コマンドを実行していく。
$1がNullになるまで繰り返すことで、指定したすべてのファイルの文字コードが変換されていくということ。
- 引数として複数のファイルを指定できる(複数ファイルを一度にコード変換できる)ため、コード返還ごとに引数($1)を一つ前倒しして次のファイルを第一引数にし、コマンドを実行していく。
- shift