検索
連載
“応用力”をつけるためのLinux再入門(36):

シェルスクリプトに挑戦しよう(16)配列[基本編] (2/2)

bashでは「配列」を扱うことができます。配列とは、1つの名前の変数で複数の値を管理できるようにしたものです。これまで、引数を参照するとき(本連載第25回)や、入力を受け取る際(本連載第30回)に使用していました。今回は、この配列にスポットを当てて、使い方や注意事項を確認します。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

配列に値を追加する

 配列に値を追加したい場合は、新たな添字を指定して値をセットします。

 「()」を使ってまとめて追加したい場合は「+=」を使い、「配列名+=(値 値 値…)」のようにします。

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.

ページトップに戻る