🤖

【bash】別ファイルから配列を読み込んで出力させる

2024/02/18に公開

はじめに

仕事でbashスクリプトを作成していて、別ファイルから配列を読み込んで出力させる方法を調査しておりました。
今回は、調査した方法についてアウトプットしていきたいと思います。

今回やりたいこと

今回やりたいことは、以下になります。

1.別ファイルに配列を指定する。
2.スクリプトにて配列を読み込んで出力させる。

スクリプトについて

使用するファイル

今回の内容では、以下のファイルを使用します。

ファイル 内容
test.sh スクリプト本体(処理を記載)
config.sh 配列を記載

上記ファイルは、同じディレクトリに配置されているものとします。

スクリプトの内容

test.shconfig.shの 内容は以下になります。

test.sh
#!/bin/bash

source ./config.sh

echo "1次元配列表示"
echo "-----------------"

for str in ${myArray[@]} ; do
  echo $str
done

echo "-----------------"

echo "連想配列表示"
echo "-----------------"

for str2 in ${!list[@]} ; do
  echo "$str2: ${list[$str2]}"
done

echo "-----------------"
config.sh
#!/bin/bash

## 一次元配列
myArray=("新宿" "代々木" "原宿" "渋谷")

## 連想配列
list=(
  ["1"]="新宿"
  ["2"]="代々木"
  ["3"]="原宿"
  ["4"]="渋谷"
)

実行確認

以下コマンドを実行します。

コマンド
./test.sh
実行結果
$ sh test.sh
1次元配列表示
-----------------
新宿
代々木
原宿
渋谷
-----------------
連想配列表示
-----------------
1: 新宿
2: 代々木
3: 原宿
4: 渋谷
-----------------

参考

https://www.freecodecamp.org/japanese/news/bash-array-how-to-declare-an-array-of-strings-in-a-bash-script/

Discussion