É possível reutilizar o primeiro argumento da linha BASH na mesma linha?

1

Eu faço isso no BASH

echo test "$1"

.. esperando para obter ..

test test

.. mas eu recebo ..

test

Isso é algo possível de fazer? Isso tornaria minha vida mais fácil, pois ter arquivos de lista poderia fazer algo como mv a/b/test.py proj_copy/$1

    
por Pithikos 24.06.2016 / 11:40

1 resposta

4

Você pode usar a expansão do histórico

$ 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

!#
The entire command line typed so far.

:^
The first argument

Você também pode usar a expansão de chaves

$echo test{,}
test test

$echo {,proj_copy}/a/b/test.py
/a/b/test.py proj_copy/a/b/test.py
    
por 24.06.2016 / 12:56