Можно ли повторно использовать первый аргумент строки BASH в той же строке?

Можно ли повторно использовать первый аргумент строки BASH в той же строке?

Я делаю это в BASH

echo test "$1"

..ожидая получить..

test test

..но я понимаю..

test

Это как-то возможно сделать? Это бы облегчило мне жизнь, так как имея список файлов я мог бы сделать что-то вродеmv a/b/test.py proj_copy/$1

решение1

Вы можете использовать расширение истории

$ 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

!#
Вся введенная на данный момент командная строка.

:^
Первый аргумент


Вы также можете использовать расширение фигурных скобок

$echo test{,}
test test

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

Связанный контент