2015-11-19 115 views
0

我正在嘗試編寫一個腳本來移動常用文件夾中的某個文件。 基本上我有n個文件夾,每個文件夾中都有一個名爲xmu.dat的文件;我想將這些文件複製到不同的文件夾中以更改其名稱。將文件移動到不同的文件夾中更改名稱

這是我想出了(我以前從未寫過劇本......)的代碼,但我得到了一些錯誤:

echo "Folders found:" 
for folder in */ 
do 
    echo "$folder" 
    name = ${folder//[\/]/} 
    cp ./"$folder"/xmu.dat ./OutputFiles/name 
done 
+0

你能打印你的錯誤? –

+2

你會得到什麼錯誤?考慮在http://www.shellcheck.net/上粘貼代碼來查看一些('name = $ {...}'是錯誤的,例如,'='周圍沒有空格)。 – fedorqui

+0

謝謝!空間是第一個錯誤。現在我沒有得到任何錯誤,它似乎工作。有沒有辦法在複製之前檢查文件是否存在? – gabelach

回答

2

正如fedorqui說,你的代碼的問題是存在'='周圍的空格。

如果您要檢查文件是否存在,你可以用「-f」選項,如:

if [ -f "$file" ] 
then 
    echo "$file found." 
else 
    echo "$file not found." 
fi 
+0

非常感謝! – gabelach

相關問題