2013-03-16 44 views
0

我收到了一些命令行指令:

ROOT=`cmd1 | cmd2 | cmd3` 
echo ROOT=$ROOT 
... 

看來這$ ROOT店三個流水線CMDS的輸出。但是什麼是$ ROOT?它是一個環境變量嗎?這是註冊嗎?我應該怎麼稱呼它?我可以有其他變量嗎?例如$ APPLE?我希望瞭解更多關於$ ROOT的信息:)

回答

1

ROOT是一個環境變量,簡單明瞭。 $ROOT只是ROOT環境變量的擴展/評估。

例如:

xyzzy=plugh 
echo xyzzy  # gives xyzzy 
echo $xyzzy # gives plugh 

什麼ROOT環境變量是使用的可能是重要的(或不),但實際命名它是毫無疑問的 - 它被稱爲ROOT的環境變量。

1

根是environment variable。變量在執行期間被擴展,所以當echo回聲$ ROOT時,它被擴展爲變量的內容。在這種情況下,反引號表示「執行命令」,因此輸出cmd1 | cmd2 | cmd3。你的例子令人困惑的是,echo命令也使用變量名作爲文本,也許這樣做更有意義:

ROOT=`cmd1 | cmd2 | cmd3` 
echo The ROOT variable is: $ROOT