- ベストアンサー
cshで変数名の入れ子ができない
こんなことをしたいと考えています。 --------------------- set aaa="bbb" set bbb="ccc" echo $aaa echo $bbb echo $($aaa) --------------------- 期待する実行結果としては、 --------------------- bbb ccc ccc --------------------- という感じです。 エラーになってしまうのですが、何かいい逃げ方はありませんか? cshでなくてshでも構いません。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
遅い回答ですが・・・ #!/bin/csh set aaa = "bbb" set bbb = "ccc" echo $aaa echo $bbb eval echo '$'$aaa これでsh,cshのどちらでもいけるはずです。 [$]を[']で挟むことで文字として扱う感じです。
その他の回答 (1)
- lowrider_2005
- ベストアンサー率40% (1520/3748)
回答No.1
#!/bin/sh aaa="bbb" bbb="ccc" echo $aaa echo $bbb eval echo $`echo $aaa` ん~、エレガントじゃないなぁ~~ (^^);
質問者
お礼
おぉ!shならできるのですね! ありがとうございます。 引き続きcshでのやりかたも募集します。
お礼
ありがとうございます! lowrider_2005 への返事を書いた後に、 eval echo \$$aaa でも行けることを発見していました。 もちろん eval echo '$'$aaa もOKですね! 御礼申し上げます。