#1 Le 10/07/2013, à 13:33
- Vergeylen
[Astuce] : Utiliser l'argument de la commande précédente sans efforts
Hello,
Je viens de trouver une astuce intéressante, qui je pense est assez méconnue. Lorsque vous souhaitez, dans un shell, réutiliser l'argument de la commande précédente, il n'est pas nécessaire de tout retaper. Un simple "!$" (sans guillemets) répétera les arguments utilisés à la commande précédente.
Ex:
cat file.txt
vi !$ --> produit vi file.txt
C'est exactement comme "!!" (toujours sans guillemets) plus connu, qui permet de recopier la ligne entière. Ceci peut servir pour ajouter sudo au début d'une commande.
Source 1: http://linuxcommando.blogspot.be/2009/0 … -from.html
Source 2: http://linuxcommando.blogspot.be/2009/0 … -last.html
Dernière modification par Vergeylen (Le 10/07/2013, à 13:35)
Hors ligne
#2 Le 10/07/2013, à 21:42
- FelixP
Re : [Astuce] : Utiliser l'argument de la commande précédente sans efforts
Waaaaa ! Merci. Ça me simplifiera probablement la vie, que ce soit dans les scripts ou en utilisation.
Linûxement,
Félix
Envoyé depuis mon navigateur libre sous mon os libre.
Manjaro (basé Arch) + Cinnamon, et Firefox-Nightly 44.0 !
Voyez mes astuces ici : http://doc.ubuntu-fr.org/utilisateurs/felixp
Hors ligne
#3 Le 10/07/2013, à 21:48
- Arbiel
Re : [Astuce] : Utiliser l'argument de la commande précédente sans efforts
Bonsoir
Dans un script, cela fonctionne ? ou est-ce limité au bash interactif ?
Arbiel
Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04, GNOME 3.36.8
24.04 en cours de tests
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.
Hors ligne
#4 Le 15/07/2013, à 13:48
- k3c
Re : [Astuce] : Utiliser l'argument de la commande précédente sans efforts
Il y a aussi
!^
pour le premier mot
et
!*
pour toute la commande
extrait de http://www.catonmat.net/blog/the-defini … e-history/
$ echo foo bar baz
foo bar baz
$ echo !$ - !^ - !*
baz - foo - foo bar baz
Debian 12 sur Thinkpad reconditionné
Hors ligne
#5 Le 15/07/2013, à 15:47
- Vergeylen
Re : [Astuce] : Utiliser l'argument de la commande précédente sans efforts
Hello k3c,
Super intéressant! Merci pour le partage
Hors ligne
#6 Le 15/07/2013, à 17:09
- k3c
Re : [Astuce] : Utiliser l'argument de la commande précédente sans efforts
Il y a aussi
!?chaine?:p
par exemple, tout le monde connaît
!ls
qui rappelle la dernière commande ls
ou
!ls:p
qui rappelle sans l'exécuter la dernière commande ls
Par contre on peut vouloir rappeler une commande qui contenait une chaîne, mais pas au début de la commande.
Je fais un certain nombre de
sudo xxx
mais seulement une commande contenant iptables, en l'occurence sudo iptables
donc
!?iptables?:p
va dans mon cas me mettre en dernière commande
sudo iptables -t nat -D OUTPUT -p tcp --dport 1935 -j REDIRECT
Debian 12 sur Thinkpad reconditionné
Hors ligne
#7 Le 16/07/2013, à 10:31
- k3c
Re : [Astuce] : Utiliser l'argument de la commande précédente sans efforts
Il y a aussi le cas tout bête, on édite avec vim un fichier, mais il aurait fallu faire sudo vim, et on n'a pas envie de sauver dans un fichier temporaire, puis renommer ce fichier temporaire.
extrait de
http://www.catonmat.net/blog/top-ten-on … explained/
:w !sudo tee %
Debian 12 sur Thinkpad reconditionné
Hors ligne