Je recherche une solution à utiliser en réponse à "rm: supprimer le fichier normal protégé en écriture [x]?"
Je pensais émettre un caractère suivi d'un retour de voiture plusieurs fois, en bashrc. Comment fait-on cela?
bash
command-line
rm
Iancovici
la source
la source
Réponses:
Modifier en fonction de la question mise à jour:
Pour éviter d'être invité à supprimer des fichiers, ajoutez l'
-f
option ("force"):Ceci a un effet secondaire dont vous devez être conscient: Si l'un des chemins donnés n'existe pas, il ne le signalera pas et il retournera avec succès:
Réponse originale:
Voici une solution simple:
yes
répète n'importe quelle chaîne que vous lui attribuez à l'infini, séparées par des nouvelles lignes.head
l'arrête après le$number
temps ettr
convertit les nouvelles lignes en retours à la ligne. Vous pourriez ne voir aucune sortie à cause des retours chariots, mais le passer à cette commande (inbash
) devrait l'illustrer:Les utilisateurs ne
bash
pouvant pas diriger le résultat versod
,hexdump
ouxxd
voir les caractères réels retournés.la source
L’autre problème que j’ai rencontré de temps en temps est
rm
son aliasrm -i
, comme dans le fichier / etc / bashrc:Dans ce cas, vous pouvez
unalias rm
utiliser cette astuce que j'ai découverte il y a des années. Vous pouvez placer une barre oblique inversée devant une commande avec alias, pour ignorer l'alias une seule fois, par exemple:Vous pouvez en apprendre plus sur les alias en lisant un article sur Nixcraft .
la source
rm
est codé en dur pour demander "de manière interactive" (invite en attente d'une entrée utilisateur) sur les fichiers protégés en écriture. il existe deux méthodes pour empêcherrm
de demander:et
(les deux fonctionnent aussi sans
-r
suppression de fichiers au lieu de répertoires)explication:
-f
faitrm
pour "ignorer les arguments et les fichiers non existants, ne jamais inviter".--interactive=never
fait ce qu'il dit: ne soyez jamais interactif. en d'autres termes: ne jamais demander.la différence entre
-f
et--interactive=never
est cette partie: "ignorer les fichiers et les arguments inexistants".comparer:
et
La différence est surtout intéressante lorsque vous écrivez des scripts dans lesquels vous ne voulez jamais
rm
être interactif, mais voulez quand même gérer les erreurs.résumé: utilisation en ligne de commande
rm -rf
. dans les scripts utilisentrm -r --interactive=never
.pour obtenir une réponse à la question indiquée ("Comment éviter la nécessité d'émettre plusieurs fois« y »lors de la suppression d'un fichier protégé»), voir https://askubuntu.com/questions/338857/automatically-enter-input-in-command-line / 338860 # 338860
la source
il suffit de donner un oui à toutes vos commandes!
Quoi qu'il en soit, vous pouvez toujours forcer en utilisant
-f
:la source
Moi aussi j'ai eu le même problème. La réponse ci-dessus ne concerne qu'un fichier, mais si vous souhaitez ignorer beaucoup de oui.
Vous pouvez utiliser
supprimer tout fichier normal protégé en écriture
la source