2015-05-19 133 views
2

我有一個bash腳本,它執行一些操作,最後我希望腳本刪除包含它的文件夾。 所以我把在腳本的末尾以下命令腳本可以刪除包含的文件夾嗎? + PBS作業

olddir=`pwd` 
cd .. 
rm -rf "$olddir" 

該文件夾的內容被刪除,但該文件夾不,我得到以下錯誤

rm: cannot remove `folder': Directory not empty 

的腳本由稱爲一個pbs腳本也包含在同一個文件夾中。 問題是什麼?

+0

在刪除目錄中的所有文件後,'rm -rf'內部調用'rmdir()'函數。如果在rm -rf運行時某些其他進程在direcrory中創建了新文件,則會失敗。另見http://unix.stackexchange.com/q/12616/17649 –

回答

0

如果您希望清理作業將要使用的目錄,最好的做法可能是在作業開始時創建特定的目錄,而不是簡單地將當前目錄備份和刪除爲你現在在做。

我想你會更好做這樣的事情:

  1. 建立一個目錄
  2. 所以只有你可以訪問它設置權限。
  3. cd到該目錄
  4. 做好各項工作,爲您的工作
  5. CD回到原來的工作目錄
  6. 刪除創建的目錄。
相關問題