2014-09-01 209 views
-1

任何人都可以告訴我以下兩個區別?Unix腳本命令讀取文件名

FILENAME=`echo /var/data` 

FILENAME=/var/data 
在UNIX腳本

+0

請澄清你的問題。 – 2014-09-01 07:34:09

+0

閱讀[高級Bash腳本指南](http://tldp.org/LDP/abs/html/) – 2014-09-01 07:34:26

+2

第一個不必要地創建額外的進程來運行'echo',但最終的結果是一樣的。 – 2014-09-01 07:39:41

回答

1

這兩種變體都會給你相同的結果。

最大的區別在於,第一個變體在一對反引號內使用命令,可以執行比簡單的echo更高級的命令,並使用命令(或管道連接的命令)的輸出並分配那個變量。


例如,讓我們說你有這給輸出的幾行文本的命令,一個包含例如線Path: /var/data。爲了獲取路徑,你可以使用的命令

command_with_output | grep "Path: " | sed 's/Path: //' 

上述命令的鏈條搜索的command_with_output包含"Path: "線路輸出,然後刪除該行的"Path: "一部分。

使用上面的鏈接命令,用反引號一起,你可以再做

FILENAME=`command_with_output | grep "Path: " | sed 's/Path: //'`