2016-07-22 82 views
0

在bash,運行你最近使用的命令,您可以按向上箭頭鍵在鍵盤上,按Enter或鍵入!!並按Enter。但是,有沒有一種命令可以用來運行在最近一次之前執行的命令?例如:運行在最近一次之前執行的命令的命令?

$ pwd 
/home/john 
$ ls 
bin  Documents Music Pictures Templates 
Desktop Downloads output Public Videos 

分型!!並按Enter將再次運行ls命令。但是,有沒有類似!!的命令,可以讓你以相同的方式運行pwd命令?如果有的話,請詳細說明它的工作原理。

+0

對於歷史擴張來說,有一大堆* *比'!!'更多;檢查手冊頁的全部細節。 – chepner

回答

3

您可以使用!n,其中n是你的歷史記錄行數。要獲得倒數第二個命令,您可以使用!-2

0

你可以使用!-2就像這裏提到的一樣。隨着向上箭頭,你可以通過ctrl-p循環回曆史記錄,並按Ctrl-n向前。您也可以使用ctrl-r並反向搜索您已輸入的命令。

+0

請記住,導航歷史記錄的確切鍵綁定可能因人而異(儘管如果他們這樣做,那個人可能已經知道他們在做什麼),但是歷史擴展由shell修復。 – chepner

+0

是的,這是真的 – nikkypx

0

你還記得上次執行命令的開始字符, 您可以執行它通過指定用命令的開始字符!

從你的問題,再次執行LS,使用鏡!, 和P!!PW執行PWD command.but只執行最後執行的一個。