Почему делает комнату-rf не, приводят к ошибке?

человечность 9.10 при вводе комнаты, Вы получаете недостающую ошибку операнда, то же самое с комнатой-r, но комната-f не приводит ни к какой ошибке.-f, как предполагается, является 'силой' не, 'рассеивают ошибки'

2
задан 07.07.2010, 17:57

3 ответа

Из страницы справочника Unix

- f, - сила
проигнорируйте несуществующие файлы, никогда не запрашивайте

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

8
ответ дан 08.12.2019, 04:36

SUSv3 заявляет:

- f не запрашивают подтверждение. Не пишите сообщения диагностики или изменяйте статус выхода в случае несуществующих операндов. Должны быть проигнорированы любые предыдущие случаи-i опции.

10
ответ дан 08.12.2019, 04:36

Для понимания, почему параметр файла является действительно дополнительным необходимо полагать, что во многих сценариях список файлов для удаления хранится в переменной, и использующий-f позволяет Вам не заботиться, пуст ли список или нет. Можно просто сделать:

rm -f $FILES

insead более громоздкого:

-z "$FILES" || rm $FILES

Таким образом, логично, что опция, названная ", игнорирует несуществующие файлы", не перестал работать, когда никакой файл не дан на командной строке.

1
ответ дан 08.12.2019, 04:36

Теги

Похожие вопросы