天天看點

eval指令

這個指令之前沒有用過,在網上查了一下資料,覺得人家寫的很好,是以複制過來了。

  标題:linux指令eval的用法

标題:linux shell中的eval

  文法:eval cmdLine

    eval會對後面的cmdLine進行兩遍掃描,如果在第一遍掃面後cmdLine是一個普通指令,則執行此指令;如果cmdLine中含有變量的間接引用,則保證簡介引用的語義。

  舉例如下:

    set 11 22 33 44

    如果要輸出最近一個參數,即44,可以使用如下指令,

    echo $4

    但是如果我們不知道是幾個參數的時候,要輸出最後一個參數,大家可能會想到使用$#來輸出最後一個參數,

  如果使用指令:

    echo "\$$#"

  則得到的結果是$4,而不是我們想要的44.這裡涉及到一個變量簡介引用的問題,我們的本意是輸出$4,預設情況下,指令後忽略變量簡介引用的情況。

  這時候,就可以使用eval指令。

  eval echo "\$$#"

  得到結果為44.

本文轉自liujing0751CTO部落格,原文連結:http://blog.51cto.com/13281352/1981549 ,如需轉載請自行聯系原作者

下一篇: 控制 滾動條

繼續閱讀