eval命令

這個命令以前沒有用過,在網上查了一下資料,以爲人家寫的很好,因此複製過來了。html

  標題:linux命令eval的用法
  連接:http://blog.chinaunix.net/uid-21411227-id-1826706.html
  標題:linux shell中的eval
  連接:http://www.2cto.com/os/201311/255577.html
linux

 

  語法:eval cmdLine
shell

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

  舉例以下:ui

    set 11 22 33 44spa

    若是要輸出最近一個參數,即44,能夠使用以下命令,.net

    echo $4unix

    可是若是咱們不知道是幾個參數的時候,要輸出最後一個參數,你們可能會想到使用$#來輸出最後一個參數,orm

  若是使用命令:htm

    echo "\$$#"

  則獲得的結果是$4,而不是咱們想要的44.這裏涉及到一個變量簡介引用的問題,咱們的本意是輸出$4,默認狀況下,命令後忽略變量簡介引用的狀況。

  這時候,就能夠使用eval命令。

  eval echo "\$$#"

  獲得結果爲44.

相關文章
相關標籤/搜索