2015-08-03 52 views
0

當我嘗試做一些事情時,我運行了zip命令它不會工作。Shell腳本 - 壓縮文件夾後無法做的事

現在這是我的腳本:

#!/bin/bash 
TIME=BACKUPMC-`date +%d-%m-%Y-%H:%M`.zip 
zip -r $TIME /home/daixhosting/d1 

這工作正常。但是當我嘗試做這樣的事情:

#!/bin/bash 
TIME=BACKUPMC-`date +%d-%m-%Y-%H:%M`.zip 
zip -r $TIME /home/daixhosting/d1 
echo "Done" 

它不會工作..輸出是這樣的:

zip warning: name not matched: /home/daixhosting/d1 

). -i /home/daixhosting/d1(try: zip -r BACKUPMC-03-08-2015-14:26.zip 
done 

即使我提出的目標文件夾一個varibale它給了我同樣的錯誤。

這是什麼情況?

謝謝

+2

您的腳本可能有DOS行結束(這也解釋了混亂的前瞻性錯誤信息),和腳本的最後一行是由文件末尾只終止(這可以解釋爲什麼第一個腳本有效,但第二個腳本沒有)。 – chepner

+0

請參閱[bash標籤wiki](http://stackoverflow.com/tags/bash/info)步驟1以獲取有關DOS行結束的更多信息,如何檢測它們以及如何刪除它們。 –

+0

@thatotherguy我真的不明白如何刪除^ M ... –

回答

0

您是否從某處複製了某些內容到腳本中?搜索

\r\n 

在腳本中輸入的內容與在目標操作系統上創建的新文件完全相同。

0

試圖在我結束,我得到了警告

zip warning: name not matched: 

只有當我試圖ZIP目錄路徑是錯誤的(不正確),否則腳本工作完全對我很好。

+0

當我在zip命令後沒有任何東西時它正在工作。但是,當我添加回聲的東西,或其他東西,它給了我。 –

0

試試這個

TIME="$BACKUPMC""$(date +'%d-%m-%Y-%H:%M')"".zip" 
zip --recurse-paths --quiet "$TIME" "/home/daixhosting/d1" 
echo "DONE" 
+0

這不起作用... –

+0

那麼錯誤信息是什麼? – Albert

+0

'zip error:Nothing to do!' –

相關問題