「シェルスクリプトの基礎 - 配列」の版間の差分
ナビゲーションに移動
検索に移動
編集の要約なし |
|||
| 5行目: | 5行目: | ||
== 配列の定義 == | == 配列の定義 == | ||
配列を定義するには、以下のように記述する。<br> | 配列を定義するには、以下のように記述する。<br> | ||
< | <syntaxhighlight lang="sh"> | ||
array[0]=a | array[0]=a | ||
array[1]=b | array[1]=b | ||
array[2]=c | array[2]=c | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
または、以下のように記述する。<br> | または、以下のように記述する。<br> | ||
< | <syntaxhighlight lang="sh"> | ||
array=(a b c) | array=(a b c) | ||
</ | </syntaxhighlight> | ||
<br><br> | <br><br> | ||
== 配列の基本 == | == 配列の基本 == | ||
以下の例では、0〜3番目(2番目を除く)までの要素の配列を定義した後、各要素と配列全体を出力している。<br> | 以下の例では、0〜3番目(2番目を除く)までの要素の配列を定義した後、各要素と配列全体を出力している。<br> | ||
< | <syntaxhighlight lang="sh"> | ||
#!/bin/sh | #!/bin/sh | ||
| 47行目: | 47行目: | ||
d | d | ||
a b d | a b d | ||
</ | </syntaxhighlight> | ||
<br><br> | <br><br> | ||
== 配列の要素の削除 == | == 配列の要素の削除 == | ||
以下の例では、配列を定義した後、<code>unset</code>コマンドにより0番目の要素を削除している。<br> | 以下の例では、配列を定義した後、<code>unset</code>コマンドにより0番目の要素を削除している。<br> | ||
< | <syntaxhighlight lang="sh"> | ||
#!/bin/sh | #!/bin/sh | ||
| 64行目: | 64行目: | ||
# 出力 | # 出力 | ||
b | b | ||
</ | </syntaxhighlight> | ||
<br><br> | <br><br> | ||
| 74行目: | 74行目: | ||
array=(a b c d) | array=(a b c d) | ||
echo ${#array[@]} | echo "${#array[@]}" | ||
# 出力 | # 出力 | ||
| 83行目: | 83行目: | ||
== 配列と繰り返し == | == 配列と繰り返し == | ||
以下の例では、括弧<code>()</code>を使用して配列を定義した後、<code>for</code>文を使用して配列の要素を出力している。<br> | 以下の例では、括弧<code>()</code>を使用して配列を定義した後、<code>for</code>文を使用して配列の要素を出力している。<br> | ||
< | <syntaxhighlight lang="sh"> | ||
#!/bin/sh | #!/bin/sh | ||
| 98行目: | 98行目: | ||
element = c | element = c | ||
element = d | element = d | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
また、以下のように記述することもできる。<br> | また、以下のように記述することもできる。<br> | ||
2020年11月17日 (火) 15:47時点における版
概要
シェルスクリプトにおいて、配列を使用する方法を記載する。
配列の定義
配列を定義するには、以下のように記述する。
array[0]=a
array[1]=b
array[2]=c
または、以下のように記述する。
array=(a b c)
配列の基本
以下の例では、0〜3番目(2番目を除く)までの要素の配列を定義した後、各要素と配列全体を出力している。
#!/bin/sh
array[0]=a
array[1]=b
array[3]=d
# 0番目の要素を参照する
echo "$array"
# 1番目の要素を参照する
echo "$array[1]"
# 2番目の要素は存在しないので空文字となる
echo "$array[2]"
# 3番目の要素を参照する
echo "$array[3]"
# 全要素を参照する
echo "$array[@]"
# 出力
a
b
d
a b d
配列の要素の削除
以下の例では、配列を定義した後、unsetコマンドにより0番目の要素を削除している。
#!/bin/sh
array[0]=a
array[1]=b
unset array[0]
echo "$array[@]"
# 出力
b
配列の表示
配列の要素数を表示するには、${#変数名[@]}を使用する。
#!/bin/sh
array=(a b c d)
echo "${#array[@]}"
# 出力
4
配列と繰り返し
以下の例では、括弧()を使用して配列を定義した後、for文を使用して配列の要素を出力している。
#!/bin/sh
array=(a b c d)
for e in $array[@]
do
echo "element = $e"
done
# 出力
element = a
element = b
element = c
element = d
また、以下のように記述することもできる。
#!/bin/sh
array=(a b c d)
for ((i=0; i<${#array[@]}; i++))
do
echo "element = $array[i]"
done
# 出力
element = a
element = b
element = c
element = d