のは、私が列id, name
と3行でMySQLのテーブルanimals
を持っているとしましょう:使用のMySQL出力
1, Mountain Goat
2, Angry Chicken
3, Weird Llama
私はコマンドanimals=$(mysql -u root -e 'SELECT name FROM animals')
を実行した場合、私は結果Mountain Goat Angry Chicken Weird Llama
を取得します。
動物を配列animals=("Mountain Goat" "Angry Chicken" "Weird Llama")
にハードコードし、コマンドecho ${animals[1]}
で配列の2番目のエントリにアクセスしようとすると、 "Angry Chicken"ではなく出力Angry
が得られます。
最終的には、各値animals.name
をBASHの関数に渡します。以下のサンプルスクリプトを参照してください。
#!/bin/bash
animals=$(mysql -u root -e 'SELECT name FROM animals')
function showAnimal {
echo "Wow, look at the "$1"!";
}
for i in $animals; do
showAnimal ${animals[$i]}
done
showAnimal
とget次の結果:
Wow, look at the Mountain Goat!
Wow, look at the Angry Chicken!
Wow, look at the Weird Llama!