藍森林首頁 | 返回主頁 | 本站地圖 | 站內搜索 | 聯繫信箱 |
 您目前的位置:首頁 > 自由軟件 > 技術交流 > 應用編程


    

藍森林 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,所以就......明白了?



Copyright © 1999-2000 LSLNET.COM. All rights reserved. 藍森林網站 版權所有。 E-mail : webmaster@lslnet.com