% bash $ var=12345; echo ${var:1:3} 234期待通りの結果
% zsh % var=12345; echo ${var:1:3} zsh: unrecognized modifier `1'おこられる。記法が違うらしい。
試行錯誤しているうちに、下記にたどり着いた。
% var=12345; echo $var[1,3] 123
切り出しに成功したが、「2文字目から3文字」の意味を込めて書いたはずなのに「1文字目から3文字」の結果になった。
% var=12345; echo $var[0,3] 123
これでも、「1文字目から3文字」の結果になった。
「2文字目から3文字」は当然こう↓
% var=12345; echo $var[2,3] 23
だと思ったら、「2文字目から3文字目まで」だった。
要求を満たすには
% var=12345; echo $var[2,4] 234
が正解。 zsh の場合は、 $var[開始文字位置,終了文字位置] ということらしい。