🐧 Linux 総合学習プラットフォーム
シェルスクリプト ・ 入門〜中級

計算と配列

シェルでも足し算やループ回数の計算ができる。$(( )) の中で 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[@]} で個数を取り出す。

りんご[0]みかん[1]もも[2]${arr[@]}= 全要素
for f in "${files[@]}"; do echo "$f"; done で、配列の全要素を1つずつ処理できる。
つまずき要素に空白が含まれることを考え、ループでは "${arr[@]}" と必ずダブルクオートで囲む。囲まないと単語が分裂する。

この項目に出てくる用語

配列はいれつ
複数の値をひとつの変数にまとめる入れ物。arr=(a b c) で作る。

関連コマンド

echoseq

▶ 学習アプリでこの続きを学ぶ・演習する