2 votes

Pouvez-vous répéter la dernière commande avec des drapeaux dans bash ?

Est-il possible de répéter votre dernière commande avec des drapeaux supplémentaires ?

Ejemplo:

Disons que je fais cela :

rm myFavouriteDirectory

Je recevrai une réponse :

rm: myFavouriteDirectory/: is a directory

Il est évident que ce que je voulais dire, c'est.. :

rm -rf myFavouriteDirectory

Existe-t-il un moyen de répéter la dernière commande avec des drapeaux comme !! -rf (cela ne fonctionne pas)

6voto

Alex Forbes Points 1058

Voir "EXPANSION DE L'HISTOIRE" dans man bash .

Le plus proche que je connaisse serait.. :
!!:0 -rf !*

!!:0 est le premier mot de la commande précédente, !* est tout sauf le premier (c'est-à-dire les arguments).

Mais dans la pratique, je tapais toujours à la machine :
rm -rf !*

Dans les distributions GNU, !! -rf (c'est-à-dire en mettant les drapeaux à la fin) fonctionnerait encore pour la plupart des commandes, mais généralement pas sous BSD et OSX. Cela dépend de la manière dont la commande traite les arguments.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X