色彩を教える人になるための講座「色彩講師養成講座」の魅力とは>>

evalって、結局なんのためにあって、どのように使うと便利なのか良く分かりませんでした。(一応manでは見てみましたが・・・)

たしか見た例では
eval `$path -uniq`
ってあったと思います。
あわせて説明して頂けるとさいわです。

gooドクター

A 回答 (3件)

仕様の違うシェルはあまりないと思いますが、一般的なシェルでは


eval echo $"$baz"
のevalを省略すると、
echo $"PATH"
の意味になり
$PATH
という文字列が表示されるだけで、PATH変数の内容は表示されません。
ぜひためしてみてください。
    • good
    • 1
この回答へのお礼

お礼遅くなりましたが、ありがとう御座いました。
自分でやってみてなんとなくですが分かりました。

お礼日時:2003/06/10 02:53

shell スクリプトを勉強するには rc ファイルを見ると面白いと思います。


私が初めて eval と出会ったのは FreeBSD の rc.network でした(^^;;;;;

参考URL:http://www.jp.freebsd.org/cgi/cvsweb.cgi/src/etc …
    • good
    • 0
この回答へのお礼

有り難うございました。

お礼日時:2003/06/10 02:54

たとえば、文字列を組み合わせて変数名を作り出し、その変数を使いたいときに利用できます。



foo=PA
bar=TH
baz=$foo$bar
eval echo $"$baz"
eval "$foo${bar}2"=abc
echo $PATH2

という例でわかるでしょうか?

ご質問の例は不正確なようでわかりません。このままではエラーです。

この回答への補足

お返事ありがとう御座います。
私が書いた例ですが、うる覚えで書いたので
気にしないで下さい。すいません・・・
で、お答え頂いた中からさらに質問させてください。

1.foo=PA
2.bar=TH
3.baz=$foo$bar
4.eval echo $"$baz"
5.eval "$foo${bar}2"=abc
6.echo $PATH2

3行目までは理解できます。
4行目を抜いて、5,6行目を実行すると
結果は"abc"が表示されると推測されます。
4行目の意味がよく分かりません。

逆に4行目を
%echo $"$baz"
としただけではダメなのでしょうか?

お手数ですが、また宜しくお願いします

補足日時:2003/05/30 01:16
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

gooドクター

人気Q&Aランキング