Disons que je voulais m'assurer de supprimer d'abord les bons fichiers, j'ai donc fait quelque chose comme:
rm -i *
juste pour m'assurer que je suis d'accord avec les fichiers que je supprime. Cela me demandera donc pour chaque fichier. Après quelques fichiers, supposons que je réalise que c'est exactement ce que je voulais supprimer. Au lieu de CTRL+C
ING et juste faire rm *
, est - il un moyen que je peux simplement dire oui à tous ?
Cette question vient plus de la curiosité que de la fonctionnalité.
Réponses:
Non.
(À moins que vous ne trouviez un moyen de retourner le bit «interactif» avec un débogueur.)
la source
coreutils/src/remove.c:335
→coreutils/lib/yesno.c:46
(généré) →rpmatch(3)
: "renvoie 0 pour une réponse négative reconnue (" non "), 1 pour une réponse positive reconnue (" oui "), et -1 lorsque la valeur de la réponse n'est pas reconnue"Eh bien, cela ne répond pas vraiment à votre question. Mais au lieu d'utiliser
rm -i
, envisagez de créer un aliasrm
pourrm -I
:La page de manuel indique:
dans votre
~/.bashrc
, mettez:c'est vraiment utile!
la source
La réponse est oui, en utilisant ce code:
$ yes "yes" | rm -vRI directory
la source
Vérifiez d'abord en utilisant
ls *.bla
puisrm -f *.bla
peut-être?Faites attention!
la source
Si vous utilisez l'écran (une bonne idée en général), vous pouvez faire:
Cela entraînerait l'écran pour exécuter la commande «oui» avec y étant la sortie, et diriger ladite sortie vers le programme en cours d'exécution (rm -i).
la source
Cela peut être fait en remplaçant les descripteurs de fichiers d'application à la volée. Vous aurez cependant besoin d'un fichier intermédiaire.
Vous pouvez utiliser gdb et un canal nommé comme celui-ci (en supposant que vous utilisez plus de terminaux, sinon vous devez utiliser screen ou autre chose):
Tapez ensuite les commandes suivantes dans gdb, en remplaçant le PID
Cela remplace le clavier par un canal nommé pour rm.
Maintenant, vous devez remplir le tuyau nommé
rm va lire le tube et tout écraser.
la source
rm
processus en arrière-plan avecCtrl+Z
.rm -i *
commande)-i
Enter
pour exécuter la commandefg %1
Ctrl+C
la source
5s/fg/kill/; 6d