可以在同一行中重複使用 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

相關內容