簡體   English   中英

我如何回憶上一個 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM