¿Cómo puedo ejecutar un comando diferente pero con los mismos argumentos?

8

Por ejemplo, edito y luego ejecuto la misma fuente.

vim arbit.py
python arbit.py

Sé que podría ejecutarlo desde dentro vim, pero quiero una solución general en Bash. Sigo encontrando situaciones en las que reutilizo argumentos.

¿Cómo puedo hacer eso?

Sanjeev Satheesh
fuente

Respuestas:

12

Uso !*. Se expande a todas las palabras excepto la primera (es decir, el comando).

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

Puede combinarlo con todas las características de !, por ejemplo:

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

O, si solo desea la última palabra, hay otras dos formas:

$ vim arbit.py
$ python !$

o:

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

Consulte la documentación de interacción del historial de bash para obtener más detalles.

Mikel
fuente
Con !:2usted reutilice el segundo argumento del comando anterior.
Matthias Braun
3

Hay al menos un par de formas de hacer esto.

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

que recupera el último argumento del comando anterior como lo hace:

$ vim arbit.py
$ python !$

o

$ vim arbit.py
$ python !*

que recupera todos los argumentos del comando anterior.

Pausado hasta nuevo aviso.
fuente