2013-08-05 150 views
1

我想捕獲一個命令輸出並將其存儲在一個變量中,但我想多做一次。Bash遞歸捕獲命令輸出

例如,id'e喜歡做這樣的事情:

base=`basename `readlink link`` 

當我嘗試,我得到一個錯誤:

basename: missing operand 

建議?

感謝

回答

2

使用美元括號語法遞歸地捕獲命令輸出:

base=$(basename $(readlink link)) 

與反單引號的問題是,在翻譯時遇到第二回勾,解釋認爲back-tick會關閉第一個命令,而你想要的是打開一個新的命令。