1

Я не могу запустить rm из скрипта Bash и удалить файл.

#!/bin/bash
rm -rf myjunk.out
exit 0;

не удаляет myjunk.out .

2 ответа2

4

Во-первых, убедитесь, что вы можете удалить myjunk.out без запуска вашего скрипта; если нет, проверьте атрибут файла с помощью lsattr .

Во-вторых, вам не нужно предоставлять exit 0;

Позже укажите путь к myjunk.out, например:

rm -rf /path/to/myjunk.out
0

Опция -f запрещает сообщения об ошибках. На странице руководства написано:

Попытайтесь удалить файлы без запроса подтверждения, независимо от прав доступа к файлу. Если файл не существует, не отображайте диагностическое сообщение и не изменяйте состояние выхода, чтобы отразить ошибку. Параметр -f отменяет все предыдущие параметры -i .

Я подчеркнул ту часть, которая актуальна; чтобы получить полезные предупреждения, вы должны удалить флаги опций из вашей команды rm :

rm myjunk.out

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .