¿Es posible reutilizar el primer argumento de la línea BASH en la misma línea?

¿Es posible reutilizar el primer argumento de la línea BASH en la misma línea?

Hago esto en BASH

echo test "$1"

..esperando llegar..

test test

..pero lo entiendo..

test

¿Es esto algo posible de hacer? Me haría la vida más fácil ya que al tener una lista de archivos podría hacer algo comomv a/b/test.py proj_copy/$1

Respuesta1

Puedes usar la expansión del historial.

$ echo test !#:^
echo test test
test test

$ echo a/b/test.py proj_copy/!#:^
echo a/b/test.py proj_copy/a/b/test.py
a/b/test.py proj_copy/a/b/test.py

!#
Toda la línea de comando escrita hasta ahora.

:^
El primer argumento


También puedes usar la expansión de llaves.

$echo test{,}
test test

$echo {,proj_copy}/a/b/test.py
/a/b/test.py proj_copy/a/b/test.py

información relacionada