假设我在终端中输入以下内容:
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"
答案1
您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/''.
答案2
切换到桀骜(默认安装在 macOS 上,并在所有主要 Linux 发行版、*BSD 和其他类 Unix 操作系统的软件集合上作为软件包提供)。它具有命令名称的自动更正功能。
% wgets
zsh: correct 'wgets' to 'wget' [nyae]? y
wget: missing URL
…