はじめに
この実験では、シェルプログラミングにおける配列の使い方を学びます。配列は、単一の名前の下に複数の値を格納できるデータ構造であり、データの整理と操作を容易にするものです。配列の初期化方法、要素の追加方法、インデックスを使った要素のアクセス方法、および配列内の要素数を決定する方法を学びます。この知識は、高度なシェルスクリプト作成やデータ操作タスクにとって基本的なものです。
この実験では、シェルプログラミングにおける配列の使い方を学びます。配列は、単一の名前の下に複数の値を格納できるデータ構造であり、データの整理と操作を容易にするものです。配列の初期化方法、要素の追加方法、インデックスを使った要素のアクセス方法、および配列内の要素数を決定する方法を学びます。この知識は、高度なシェルスクリプト作成やデータ操作タスクにとって基本的なものです。
配列操作を記述する新しいシェルスクリプトファイルを作成して始めましょう。
WebIDEでターミナルを開きます。
プロジェクトディレクトリに移動します。
cd ~/project
touchコマンドを使用して、arrays.sh
という名前の新しいファイルを作成します。
touch arrays.sh
WebIDEでarrays.sh
ファイルを開きます。
スクリプトファイルができたので、まず3つの空の配列を初期化して始めましょう。
arrays.sh
ファイルに次のコードを追加します。
#!/bin/bash
## 空の配列を初期化する
NUMBERS=()
STRINGS=()
NAMES=()
このコードが何をするか解説しましょう。
#!/bin/bash
はシャバンと呼ばれます。これは、このスクリプトをBashシェルで実行するようシステムに指示します。NUMBERS
、STRINGS
、NAMES
を作成しています。()
構文で空の配列を初期化しています。空の配列ができたので、それらにいくつかの要素を追加しましょう。
配列の初期化の下に、次のコードをarrays.sh
ファイルに追加します。
## NUMBERS配列に要素を追加する
NUMBERS+=(1)
NUMBERS+=(2)
NUMBERS+=(3)
## STRINGS配列に要素を追加する
STRINGS+=("hello")
STRINGS+=("world")
## NAMES配列に要素を追加する
NAMES+=("John")
NAMES+=("Eric")
NAMES+=("Jessica")
このコードが行うことは次の通りです。
+=
演算子を使用します。NUMBERS
には、整数1、2、3を追加しています。STRINGS
には、文字列"hello"と"world"を追加しています。NAMES
には、3つの名前"John"、"Eric"、"Jessica"を追加しています。配列に関する一般的な操作の1つは、それがどれだけの要素を含んでいるかを調べることです。NAMES
配列に対してこれを行いましょう。
arrays.sh
ファイルに次のコードを追加します。
## NAMES配列内の要素数を取得する
NumberOfNames=${#NAMES[@]}
この行は次のことを行います。
${#NAMES[@]}
はNAMES
配列内の要素数を返します。NumberOfNames
という変数に格納します。@
記号は配列のすべての要素を指します。NAMES
の前の#
記号は、シェルに対して要素を数えるよう指示します。次に、NAMES
配列内の特定の要素にアクセスしましょう。2番目の名前を取得します。
arrays.sh
ファイルにこのコードを追加します。
## NAMES配列の2番目の名前にアクセスする
second_name=${NAMES[1]}
このコードが行うことは次の通りです。
${NAMES[1]}
を使ってNAMES
配列の2番目の要素にアクセスしています。[1]
は2番目の要素を示します。second_name
という変数に格納しています。最後に、操作の結果を見るために、配列と変数を表示するコードを追加しましょう。
arrays.sh
ファイルの末尾に次のコードを追加します。
## 配列と変数を表示する
echo "NUMBERS array: ${NUMBERS[@]}"
echo "STRINGS array: ${STRINGS[@]}"
echo "The number of names listed in the NAMES array: $NumberOfNames"
echo "The second name on the NAMES list is: $second_name"
このコードは次のことを行います。
echo
を使ってコンソールに文字列を表示します。${NUMBERS[@]}
と${STRINGS[@]}
はこれらの配列のすべての要素を表示します。NumberOfNames
とsecond_name
変数を表示します。スクリプトを書いたので、実行して結果を見てみましょう。
ターミナルで、正しいディレクトリにいることを確認します。
cd ~/project
スクリプトを実行可能にします。
chmod +x arrays.sh
スクリプトを実行します。
./arrays.sh
次のような出力が表示されるはずです。
NUMBERS array: 1 2 3
STRINGS array: hello world
The number of names listed in the NAMES array: 3
The second name on the NAMES list is: Eric
この出力は、配列操作が成功したことを示しています。
NUMBERS
配列には1、2、3が含まれています。STRINGS
配列には"hello"と"world"が含まれています。NAMES
配列に正しく3つの名前がカウントされています。この実験では、シェルスクリプトにおける配列の基本を学びました。配列の初期化、要素の追加、特定の要素へのアクセス、および配列内の要素数の決定を練習しました。これらのスキルは、より高度なシェルスクリプトのタスクにとって重要です。特に、データのリストを扱う場合や、複数の項目に対して操作を行う必要がある場合に役立ちます。配列は、シェルスクリプト内でデータを整理して操作する強力な方法を提供し、コードをより効率的で管理しやすくします。