計算と配列
シェルでも足し算やループ回数の計算ができる。$(( )) の中で i=$((i+1)) のように書く。複数の値は配列 arr=(a b c) にまとめ、${arr[@]} で全要素、${#arr[@]} で個数を取り出す。
シェルは文字を扱うのが得意だが、数の計算やまとまったデータの管理もできる。ループ回数を数えたり、複数の値を並べて回したりが、外部コマンドなしで書ける。
➕ $(( )) で算術
二重丸かっこ $(( )) の中では、ふつうの数式が書ける。i=$((i+1)) でカウントアップ、$((a * b)) で掛け算。変数は $ を付けなくても参照できる。
▶
例n=5; echo $((n * n)) → 25。for 文のカウンタ更新にもよく使う。
📚 配列でまとめる
複数の値は配列にまとめられる。arr=(りんご みかん もも) で作り、${arr[0]} で先頭、${arr[@]} で全部、${#arr[@]} で個数を取り出す。
▶
例for f in "${files[@]}"; do echo "$f"; done で、配列の全要素を1つずつ処理できる。
⚠
つまずき要素に空白が含まれることを考え、ループでは "${arr[@]}" と必ずダブルクオートで囲む。囲まないと単語が分裂する。
この項目に出てくる用語
配列はいれつ
複数の値をひとつの変数にまとめる入れ物。arr=(a b c) で作る。