Я пишу makefile, який очистить кілька непотрібних файлів наприкінці компіляції. Якщо мета вже досягнута, вона, звичайно, пропустить цю ціль, і марний файл може не бути там. Тож якщо я це роблю:
rm lexer.ml interpparse.ml interpparse.mli
Я можу отримати помилки, оскільки один з файлів не існує. Чи є якийсь спосіб сказати rm
ігнорувати ці файли?
Читаючи сторінку man, я бачу такий варіант:
-f Attempt to remove the files without prompting for confirma-
tion, regardless of the file's permissions. If the file does
not exist, do not display a diagnostic message or modify the
exit status to reflect an error. The -f option overrides any
previous -i options.
Це звучить як майже те, що я хочу, але я не дуже впевнений у частині дозволів. Чи є спосіб це зробити?
-f
можливістю все-таки спробує її видалити. Це не вдасться. Це не скаже вам, що не вдалося. Корисно, якщо ім'я файлу є змінною або глобусом.
rm --interactive=never
що діє як, rm -f
крім цього він повертає статус виходу з помилки. дивіться тут для більш детальної інформації: unix.stackexchange.com/questions/72864/…
rm
в пісочниці? Схоже,-f
робиться саме те, що ти хочеш, незалежно від глобалізації.