• ベストアンサー

cshで変数名の入れ子ができない

こんなことをしたいと考えています。 --------------------- set aaa="bbb" set bbb="ccc" echo $aaa echo $bbb echo $($aaa) --------------------- 期待する実行結果としては、 --------------------- bbb ccc ccc --------------------- という感じです。 エラーになってしまうのですが、何かいい逃げ方はありませんか? cshでなくてshでも構いません。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • syea
  • ベストアンサー率50% (6/12)
回答No.2

遅い回答ですが・・・ #!/bin/csh set aaa = "bbb" set bbb = "ccc" echo $aaa echo $bbb eval echo '$'$aaa これでsh,cshのどちらでもいけるはずです。 [$]を[']で挟むことで文字として扱う感じです。

jijitau
質問者

お礼

ありがとうございます! lowrider_2005 への返事を書いた後に、 eval echo \$$aaa でも行けることを発見していました。 もちろん eval echo '$'$aaa もOKですね! 御礼申し上げます。

その他の回答 (1)

回答No.1

#!/bin/sh aaa="bbb" bbb="ccc" echo $aaa echo $bbb eval echo $`echo $aaa` ん~、エレガントじゃないなぁ~~ (^^);

jijitau
質問者

お礼

おぉ!shならできるのですね! ありがとうございます。 引き続きcshでのやりかたも募集します。

関連するQ&A