Bash中的一些快捷方式

1.最後一個參數:!$

它會將最後一個命令的最後一個參數替換到你的命令行中

2.第 n 個參數:!:2
各個參數的索引是從零開始的,並且可以用 !: 之後跟上該索引數字代表各個參數

3.全部參數:!:1-$
想在文件中匹配 “ping” 或 “pong”,但我使用的是 grep 而不是 egrep
如果不想重新輸入其他參數。因此,我可以使用 !:1-$ 快捷方式來調取上一個命令的所有參數,從第二個(記住它們的索引從零開始,因此是 1)到最後一個(由 $ 表示)

4.倒數第 n 行的最後一個參數:!-2:$

我們一般會查看一下,這個時候就不能使用!$命令了

在這些情況下,我可以在 ! 之後插入 -n:(其中 n 是要在歷史記錄中回溯的命令條數),以從較舊的命令取得最後的參數:

5.進入文件夾:!$:h

我可能要做的第一件事是轉到 /etc 文件夾,查看其中的內容並找出我做錯了什麼

這是說:“獲取上一個命令的最後一個參數(/etc/system),並刪除其最後的文件名部分,僅保留 /etc。”

6.當前行:!#:1
有時候想知道是否可以在當前行引用一個參數。我多希望我能早早學會這個快捷方式。我經常常使用它製作備份文件:

7、搜索並替換:!!:gs
這將搜索所引用的命令,並將前兩個 / 之間的字符替換爲後兩個 / 之間的字符。

假設我想告訴別人我的 s 鍵不起作用,而是輸出了 f:$

$ !!:gs/f /s /
echo my s key does not work
my s key does not work

它不只對單個字符起作用。我也可以替換單詞或句子:

$ !!:gs/does/did/
echo my s key did not work
my s key did not work

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章