Я пишу make-файл, который очистит некоторые ненужные файлы в конце компиляции. Если цель уже была создана, она, конечно, пропустит эту цель, и бесполезный файл может не оказаться там. Так что, если я сделаю это:
rm lexer.ml interpparse.ml interpparse.mli
Я могу получить ошибки, потому что один из файлов не существует. Есть ли способ сказать, rm
чтобы игнорировать эти файлы?
Читая справочную страницу, я вижу следующую опцию:
-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
делает именно то, что вы хотите, независимо от того, что вы делаете.