Bash
在歷史上查看歷史擴展
我不得不重寫歷史擴展命令,而不是從歷史中呼叫它。
例如,我必須在以下命令中將 35 更改為 36、37、38….。
$ print -P '\033[35mThis is the same red as in your solarized palette\033[0m' $ !!:gs/35/36
現在我需要成功
!!:gs/36/37
但是,當我使用
Up
密鑰時。它沒有顯示$ !!:gs/35/36
。表明print -P '\033[35mThis is the same red as in your solarized palette\033[0m'
在這裡可以做什麼?
我有兩個建議,你可以如何接近你想要的(
bash
僅供參考):將其添加到歷史記錄
在輸入第一個歷史擴展命令行之前,您可以禁用歷史擴展 (
set +H
) 並“執行”歷史擴展命令(然後使用 重新啟用set -H
)。然後它是 shell 歷史的一部分,您可以輕鬆地返回並修改它。在 shell 歷史中獲取歷史擴展命令行的更直接的方法是
history -s
. 不過,較早的建議可能更容易記住(並且在復雜引用的情況下可能更容易)(取決於某人對 shell 選項的熟悉程度)。讀取線拉動
當您在整個操作過程中不需要拉動時,這是最有用的。
鍵入歷史擴展命令行,但不要按
Enter
。而是轉到行的開頭/結尾並使用Ctrl
-K
/Ctrl
-刪除整行U
。這會將整條線放在殺戮環上。Ctrl
您可以使用-恢復該行Y
。即使在執行命令之後,只要您不在殺傷環中放置任何其他東西,您也可以通過這種方式將其取回。Ctrl
即使:您可以使用-Y
Alt
-回到較舊的殺戮環條目Y
。