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]"とか表示してくれます。素敵。