2012-11-27 161 views
1

我正在編寫一個腳本,需要根據用戶輸入在目錄中找到文件。該文件包含一個文件路徑,我需要使用該文件路徑作爲變量,以便稍後在mv命令中使用它。到目前爲止: -包含文件路徑的Bash變量

read x 
path = `cat ~/filepaths/$x` 

後來它需要使用此文件

mv ~/trash/$x $path 

目前,它似乎並沒有工作,閱讀文件路徑從垃圾桶移動文件,並在運行時掛起。我在這裏錯過了什麼愚蠢的東西?

編輯:解決了,是一個愚蠢的語法錯誤。謝謝你的幫助!

+1

http://stackoverflow.com/questions/2268104/basic-bash-script-variable-declaration-command-未找到 –

+0

由於「read」正在等待輸入,因此它「掛起」。只要讀取數據,就會在第2行出現語法錯誤。 –

+0

另外,你應該考慮使用'$(subshel​​l command)'語法來代替'\'subshel​​l command \''語法。它通常不太容易出錯。 – jedwards

回答

7

分配周圍刪除空格:

path=`cat ~/filepaths/$x` 

或:

path=$(< ~/filepaths/$x) 
+0

啊......這個修好了,謝謝! –