shの配列にハマる

最近自動スクリプト組むのが趣味です。
Pythonとかで書けばいいじゃないかとか言われたんですが、
「さすがにPython標準搭載してるLinuxじゃなかったら動かないよねぇとかあったら困るよね!」
というわけではないのですが、「import os; os.system()」が羅列されるのもあれかなとかね!
コマンドの配列使ってmap関数でやってやるとか面白そうですけど!


と脱線するぐらいにPythonが好きなんですけど、
色んな言語触って他の人と共感・討論出来るようになれたら素敵かなっと!


んで、本題のshの配列さんなのですが、要素の読み出し方で嵌りました。
ソースはこちら

ソース

#!/bin/sh
#array=(`echo "fizz buzz hoge fuga"`)

array[0]="fizz"
array[1]="buzz"
array[2]="hoge"
array[3]="fuga"

echo $array[0]
echo $array[1]
echo $array[2]
echo $array[3]
echo "=================="
echo ${array[0]}
echo ${array[1]}
echo ${array[2]}
echo ${array[3]}

実行結果

fizz[0]
fizz[1]
fizz[2]
fizz[3]
==================
fizz
buzz
hoge
fuga


「変数って、$つければ変数なんでしょ?」という思い込みがいきなりハマッた原因でした。
代入時に$っていらないんですね!
あと配列の値を参照するときに、{}でくくらないと意図した結果がでません。
文字列で"[0]"とか表示してくれます。素敵。