連載
シェルスクリプトに挑戦しよう(16)配列[基本編]:“応用力”をつけるためのLinux再入門(36)(2/2 ページ)
bashでは「配列」を扱うことができます。配列とは、1つの名前の変数で複数の値を管理できるようにしたものです。これまで、引数を参照するとき(本連載第25回)や、入力を受け取る際(本連載第30回)に使用していました。今回は、この配列にスポットを当てて、使い方や注意事項を確認します。
配列に値を追加する
配列に値を追加したい場合は、新たな添字を指定して値をセットします。
「()」を使ってまとめて追加したい場合は「+=」を使い、「配列名+=(値 値 値…)」のようにします。
color=(red gold green) ← 配列colorにred、gold、greenをセットする(color[0]にred、color[1]にgold、color[3]にgreenがセットされる) color[3]=blue ← color[3]にblueをセットする color+=(black white) ← 配列colorにblackとwhiteを追加する color[${#color[@]}]=silver ← 配列の末尾にsilverを追加する(添字が0から1ずつ増加するようになっている場合のみ可能)
▲コマンド例
表示のテストには、以下のfor文を使用しています。
for i in ${!color[@]} do echo $i ${color[$i]} done
▲コマンド例
$ color=(red gold green) $ for i in ${!color[@]} > do > echo $i ${color[$i]} > done 0 red 1 gold 2 green
▲実行結果(配列colorにredとgoldとgreenをセットして内容を確認)
$ color[3]=blue $ for i in ${!color[@]} > do > echo $i ${color[$i]} > done 0 red 1 gold 2 green 3 blue
▲実行結果(配列colorの添字3を指定してblueをセットして内容を確認)
$ color+=(black white) $ for i in ${!color[@]} > do > echo $i ${color[$i]} > done 0 red 1 gold 2 green 3 blue 4 black 5 white
▲実行結果(配列colorにblackとwhiteを追加して内容を確認)
$ color[${#color[@]}]=silver $ for i in ${!color[@]} > do > echo $i ${color[$i]} > done 0 red 1 gold 2 green 3 blue 4 black 5 white 6 silver
▲実行結果(配列colorにsilverを追加して内容を確認)
筆者紹介
西村 めぐみ(にしむら めぐみ)
もともとはDOSユーザーで「DOS版UNIX-like tools」を愛用。ソフトハウスに勤務し生産管理のパッケージソフトウェアの開発およびサポート業務を担当、その後ライターになる。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『Accessではじめるデータベース超入門[改訂2版]』『macOSコマンド入門』など。地方自治体の在宅就業支援事業にてMicrosoft Officeの教材作成およびeラーニング指導を担当。会社などの“PCヘルパー”やピンポイント研修なども行っている。
Copyright © ITmedia, Inc. All Rights Reserved.