[英]How can I pass all the filenames in a directory as an argument to a command in Bash?
[英]How can I recall the argument of the previous bash command?
Bash 有沒有辦法回憶上一個命令的參數?
我通常先做vi file.c
然后是gcc file.c
。
Bash 有沒有辦法回憶上一個命令的參數?
您可以使用$_
或!$
來調用上一個命令的最后一個參數。
還有Alt + .
可用於調用任何先前命令的最后一個參數。
如果前面的命令有兩個參數,像這樣
ls a.txt b.txt
你想要第一個,你可以輸入
!:1
給予
a.txt
或者,如果你同時想要,你可以輸入
!:1-2
給予
a.txt b.txt
您可以將其擴展到任意數量的參數,例如:
!:10-12
!!:n
其中n
是您想要的參數的從 0 開始的位置。
例如:
echo 'one' 'two'
# "one two"
echo !!:2
# "two"
!
前綴用於訪問以前的命令。
其他有用的命令:
!$
- 上一個命令的最后一個參數!^
- 上一個命令的第一個參數(在程序/內置/腳本之后)!!
- 先前的命令(通常發音為“bang bang”)!n
- history
命令編號n
!pattern
- 最近的命令匹配pattern
!!:s/find/replace
- 最后一個命令,用replace
替換find
在命令行中,您可以按alt + 。 或esc - 。
它循環遍歷您之前命令的最后一個參數。
如果您知道特定命令的歷史記錄中給出的數字,您幾乎可以使用以下術語在該命令中獲取任何參數。
使用以下命令從歷史記錄中的第三個命令中獲取第二個參數,
!3:2
使用以下命令從歷史記錄中的倒數第五個命令中獲取第三個參數,
!-5:3
使用減號,您要求它從歷史記錄的最后一個命令開始遍歷。
!* 運行帶有所有先前參數的新命令。
ls /tmp
cd !*
#you are now in /tmp
是的,您可以使用!$
來調用前面命令的最后一個參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.