Estou escrevendo um makefile que irá limpar alguns arquivos inúteis no final da compilação. Se um destino já foi estabelecido, é claro que ele será ignorado e o arquivo inútil pode não estar lá. Então, se eu fizer isso:
rm lexer.ml interpparse.ml interpparse.mli
Posso receber erros porque um dos arquivos não existe. Existe alguma maneira de dizer rm
para ignorar esses arquivos?
Ao ler a página do manual, vejo a seguinte opção:
-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.
Parece quase o que eu quero, mas não tenho muita certeza sobre a parte de permissões. Existe uma maneira de fazer isso?
-f
ainda tentará excluí-lo. Isso irá falhar. Não lhe dirá que falhou. Útil se o nome do arquivo for uma variável ou um glob.
rm --interactive=never
que age como, rm -f
exceto que retorna um status de saída de erro. consulte aqui para obter mais detalhes: unix.stackexchange.com/questions/72864/…
rm
em uma caixa de areia? Parece que-f
faz exatamente o que você deseja, independentemente do globbing.