您指的是这个命令吗? (如何回复这个)

您指的是这个命令吗? (如何回复这个)

假设我在终端中输入以下内容:

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 historyEvent 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

答案3

作为通配符已经建议安装thefuck然后通过将以下行添加到您的 .bash_profile、.bashrc 或 .zshrc 中,为其添加“yes”别名:

eval $(thefuck --alias)
alias yes="fuck"
->wgets "link"

->No command 'wgets' found, did you mean:
 Command 'wget' from package 'wget' (main)

->yes

-> wget "link" [enter/↑/↓/ctrl+c]

-> Downloading...

相关内容