У меня есть скрипт bash, который выполняет некоторые операции, и в конце я хотел бы, чтобы скрипт удалял папку, в которой он содержится. Так что я положил в конце сценария следующие командыМожет ли сценарий удалить папку, в которой она содержится? + PBS job
olddir=`pwd`
cd ..
rm -rf "$olddir"
Содержание папки удаляется, но папку не так и я получаю следующее сообщение об ошибке
rm: cannot remove `folder': Directory not empty
Скрипт вызывается скрипт pbs, который также содержится в той же папке. В чем проблема?
'rm -rf' вызывает функцию' rmdir() 'внутри после удаления всех файлов в каталоге. Если какой-то другой процесс создал новый файл в директиве, в то время как 'rm -rf' запускался, это провалилось бы так. См. Также http://unix.stackexchange.com/q/12616/17649 –