|
藍森林 http://www.lslnet.com 2006年6月26日 11:18
請教一個關於eval的問題
$ x=10
$ y=x
$ eval print $$y
12098y
$ x=10
$ y=x
$ eval print $($y)
ksh: x: not found
$ eval print \$$y
10
為什麼需要轉義字符\,我覺得加了\之後$就被屏蔽了,按字符表面的意思理解,所以$ eval print \$$y 的結果應該是$x。
請高手幫忙,謝謝! |
請教一個關於eval的問題
eval是執行兩次掃瞄,第一次掃瞄是print $x,第二次掃瞄進行替換,10。
$ eval print $$y
12098y
$$ 表示進程號。 |
請教一個關於eval的問題
-->
print第一次掃瞄的時候\$是吧$符號屏蔽了,所以第一次輸出的是$x,eval命令使print又掃瞄$x,所以就......明白了? |
| |