Contenu | Rechercher | Menus

Annonce

Ubuntu 16.04 LTS
Commandez vos DVD et clés USB Ubuntu-fr !

Pour en savoir un peu plus sur l'équipe du forum.

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

#1 Le 10/07/2013, à 14: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, à 14:35)

Hors ligne

#2 Le 10/07/2013, à 22: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, à 22: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
Dell Vostro 3550 Ubuntu 14.04 64 bits (je ne suis pas passé à la 16,04 à cause d'un problème majeur avec crypttab, et de sa déconcertante lenteur)
Protonmail, une messagerie sécurisée

Hors ligne

#4 Le 15/07/2013, à 14: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

Archlinux sur Xiaomi Air 13

Hors ligne

#5 Le 15/07/2013, à 16:47

Vergeylen

Re : [Astuce] : Utiliser l'argument de la commande précédente sans efforts

Hello k3c,

Super intéressant! Merci pour le partage smile

Hors ligne

#6 Le 15/07/2013, à 18: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

Archlinux sur Xiaomi Air 13

Hors ligne

#7 Le 16/07/2013, à 11: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 %

Archlinux sur Xiaomi Air 13

Hors ligne