Comment puis-je exécuter une commande différente mais avec les mêmes arguments?


8

Par exemple, j'édite puis exécute la même source.

vim arbit.py
python arbit.py

Je sais que je pourrais l'exécuter de l'intérieur vim, mais je veux une solution générale sur Bash. Je continue de trouver des situations où je réutilise des arguments.

Comment puis je faire ça?

Réponses:


12

Utilisez !*. Il s'étend à tous les mots sauf le premier (c'est-à-dire la commande).

$ vim arbit.py
$ python !*
python arbit.py

Vous pouvez le combiner avec toutes les fonctionnalités de !, par exemple:

$ vim arbit.py
$ ls
$ python !vim:*
vim arbit.py

Ou, si vous ne voulez que le dernier mot, il y a deux autres façons:

$ vim arbit.py
$ python !$

ou:

$ vim arbit.py
$ python <Esc+.>

Voir la documentation d'interaction de l'historique bash pour plus de détails.


Avec !:2vous réutilisez le deuxième argument de la commande précédente.
Matthias Braun

3

Il existe au moins deux façons de procéder.

$ vim arbit.py
$ python[press Alt-.]

qui récupère le dernier argument de la commande précédente comme le fait:

$ vim arbit.py
$ python !$

ou

$ vim arbit.py
$ python !*

qui récupère tous les arguments de la commande précédente.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.