Piszę plik makefile, który wyczyści niektóre bezużyteczne pliki na końcu kompilacji. Jeśli cel został już utworzony, oczywiście pominie go, a zbędnego pliku może nie być. Więc jeśli to zrobię:
rm lexer.ml interpparse.ml interpparse.mli
Mogę wyświetlać błędy, ponieważ jeden z plików nie istnieje. Czy jest jakiś sposób rm
na zignorowanie tych plików?
Podczas czytania strony podręcznika widzę następującą opcję:
-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.
To brzmi prawie tak, jak chcę, ale tak naprawdę nie jestem pewien co do części dotyczącej uprawnień. Czy jest na to sposób?
-f
nadal próbował je usunąć. To zawiedzie. Nie powie ci, że to się nie udało. Przydatne, jeśli nazwa pliku to zmienna lub glob.
rm --interactive=never
takie działanie, rm -f
z wyjątkiem tego, że zwraca status wyjścia błędu. zobacz tutaj po więcej szczegółów: unix.stackexchange.com/questions/72864/…
rm
w piaskownicy? Wygląda na to, że-f
robi dokładnie to, co chcesz, niezależnie od globowania.