Deprecated: Array and string offset access syntax with curly braces is deprecated in /mnt/hep_web/hep_web/member/n-kota/dokuwiki/inc/init.php on line 542
===== 変数を使って連番を生成 =====
例えば1から10までの連番を生成してループを回したい時、
for i in {1..10}
do ...
の様にして連番生成、ループ処理を行うことができるが、この範囲を変数として
Start=1
End=10
for i in {${Start}..${End}}
do ...
としてもiに{1..10}という文字列が格納されるだけで、展開されて連番を生成してくれない。
こんな時は、以下の様に"eval echo " を使う。
Start=1
End=10
for i in `eval echo {${Start}..${End}}`
do ...
これで、先のように1から10までの連番が生成される。
==== 配列要素数でループを回す ====
array=("a" "b" "c")
Narray=$(( ${#array[*]} - 1 ))
for i in `eval echo {0..${Narray}}`
do
echo ${i} ${array[${i}]}
done