- - PR -
変数の参照方法。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-06-20 15:03
みきにゅうです。
(bash)スクリプト変数の参照方法について教えて頂きたい事があります。 ------------ TEST1=test1 TEST2=test2 i=1 while [ i -le 2 ]; do echo _____ i=`expr $i + 1` done ------------ TEST1, TEST2 の'1', '2'を i と同期させて出力させたいです。 $"TEST${i}" で test1 test2 となりそうな気がしたのですが、TEST1 が返ってきてしまいました。 他にも色々試してみたのですが、どうしてもうまくいきませんでした。 _____の部分はどのように指定すればよいでしょうか? わかりづらい説明で申し訳ありませんが、よろしくお願いします。 [ メッセージ編集済み 編集者: みきにゅう 編集日時 2005-06-20 15:19 ] | ||||
|
投稿日時: 2005-06-20 15:23
こんにちは。
変数名に変数を埋め込む…ということですね。 こういうことをやらせるなら、bash よりも Perl の方が楽なのですけどね…。 方法としては、 1. Perl で組み直す 2. 配列を使って組み直す 3. eval を使う 期待されているのに一番あっているのは、3 を使用して、 echo $( eval echo "\$TEST$i" ) のように組むことかな、と。 個人的にはあまりお勧めしませんが。 ※ Perlの場合は、print ${"TEST$i"} のようになるのですが…、これもお勧めはしません。リストもしくはハッシュを使う方が見通しが良いでしょうから。 | ||||
|
投稿日時: 2005-06-20 16:57
| ||||
|
投稿日時: 2005-06-20 17:21
ご返信が遅くなり、申し訳ありません。
angelさん、コブラさん ご返信ありがとうございます。 ご教示頂きましたevalで組んでみましたところ、期待する値が得られました。 angelさん、コブラさん 大変ありがとうございました。 |
1