rm
жестко задан для запроса "интерактивно" (запрос на ожидание ввода пользователя) файлов, защищенных от записи. Есть два способа запретить rm
:
rm -rf somedir
а также
rm -r --interactive=never somedir
(оба также работают без -r
при удалении файлов вместо директорий)
объяснение:
-f
заставляет rm
«игнорировать несуществующие файлы и аргументы, никогда не запрашивать».
--interactive=never
не делает то, что говорит: никогда не будь интерактивным. другими словами: никогда не подскажу.
Разница между -f
и --interactive=never
в этом: "игнорировать несуществующие файлы и аргументы".
Для сравнения:
$ rm -rf nonexistingname
$ echo $?
0
а также
$ rm -r --interactive=never nonexistingname
rm: cannot remove 'nonexistingname': No such file or directory
$ echo $?
1
Разница в основном интересна при написании сценариев, где вы никогда не хотите, чтобы rm
был интерактивным, но все же хотите обрабатывать ошибки.
резюме: в командной строке используйте rm -rf
. в скриптах используйте rm -r --interactive=never
.