Bash
你是說這個命令嗎?(如何回复)
假設我在終端中輸入了以下內容:
wgets "link"
我會得到回應:
未找到命令“wgets”,您的意思是:來自包“wget”(主)的命令“wget”
我犯了一個錯誤,終端警告我。
在終端警告我之後,我可以輸入一個命令,以便它會按照它認為的那樣執行上面的命令?
例如:
->wgets "link" ->No command 'wgets' found, did you mean: Command 'wget' from package 'wget' (main) ->yes (this command I am looking for ... is there one?) -> executing wget "link"
切換到zsh(預設安裝在 macOS 上,並在所有主要的 Linux 發行版、*BSD 和其他類 Unix 作業系統的軟體集合中作為一個包提供)。它具有命令名稱的自動更正功能。
% wgets zsh: correct 'wgets' to 'wget' [nyae]? y wget: missing URL …
在
Bash
你可以使用search and replace
修改以前執行的不正確的命令。從你的例子:->wgets "link" ->No command 'wgets' found, did you mean: Command 'wget' from package 'wget' (main) ->^wgets^wget^
將
wgets
替換為wget
並執行命令。為了便於對歷史列表中前面的命令執行此操作:
->!wgets:s/wgets/wget/
從
man 3 history
下Event Designators
:!string Refer to the most recent command starting with string. ... ^string1^string2^ Quick Substitution. Repeat the last command, replacing string1 with string2. Equivalent to ''!!:s/string1/string2/''.