Vorrei eseguire una riga di comando:
cd ~/www/tmp/; rm -P 2*
Ma ricevo un errore se non ci sono file che iniziano con 2.
Penseresti che vorrei usare -f
, tuttavia:
-f Attempt to remove the files without prompting for confirmation, 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.
E io faccio cura di file di permissions- se c'è qualcosa di strano sta succedendo, io preferirei il comando di interruzione. Voglio solo eliminare gli errori "non esistono".
Ho esaminato alcune altre domande con "errori rm" e ho trovato queste due cose che sembrano (in qualche modo) rilevanti:
Elimina file e directory con i loro nomi. Nessun file o directory con questo nome
Ma non capisco tutto quello che succede nelle risposte a questa domanda e non so che ne ho bisogno?
L' touch
hack ha suggerito in questa domanda:
Rm non ha segnalato quando manca un file?
Sembra fattibile, dato che non penso di pensare al colpo di prestazione (ma che tipo di colpo di prestazione porteresti? - cioè: è una tecnica ragionevolmente scalabile o sto solo imparando cattive abitudini?)
Non sono sicuro di come farei if-then
all'interno della riga di comando.
Esistono altre opzioni per una semplice pulizia cut-n-paste della riga di comando?
Funzionerebbe find -delete
meglio per il mio caso? Se è così, perché?
errore in questione:
rm: 2*: No such file or directory
zsh
come shell interattiva? Stai ricevendo un No matches found
errore?
2*
a rm invece di espanderla in un elenco di file. Guarda l'errore in questione: dice che rm si sta lamentando, non sh / bas / zsh / ...
rm
, quindi dovrai dire di cosa si tratta.