![当我被提示“您的意思是:[命令]”时,我可以使用 Y / N 吗?](https://linux22.com/image/1491016/%E5%BD%93%E6%88%91%E8%A2%AB%E6%8F%90%E7%A4%BA%E2%80%9C%E6%82%A8%E7%9A%84%E6%84%8F%E6%80%9D%E6%98%AF%EF%BC%9A%5B%E5%91%BD%E4%BB%A4%5D%E2%80%9D%E6%97%B6%EF%BC%8C%E6%88%91%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20Y%20%2F%20N%20%E5%90%97%EF%BC%9F.png)
我注意到,当你输入一个稍微错误的命令时,它会出现你的意思是:command_name
例如
git staus
git: 'staus' is not a git command. See 'git --help'.
Did you mean this?
status
我觉得这是一个很酷的想法,可以执行“是”并执行该命令?我试过了,但它什么也没做,所以我想知道这个功能是否存在,但使用不同的命令?
谢谢
答案1
您的示例中的建议不是由Ubuntu 的 shell,而是help.autocorrect
Git 本身内置的功能。
有去年的讨论在 Git 中添加交互式“是/否”提示,但一些细节尚未确定,因此工作仍未完成。
如果你正在寻找可以对任何命令提出此类建议的东西,你可能想尝试一下使用 Z shell (zsh) 代替 Bash。它为命令和文件名提供通用的拼写校正,并提供交互式提示:
$ ehco hello > test.txt
zsh: correct 'ehco' to 'echo' [nyae]? y
$ cat tesst.txt
zsh: correct 'tesst.txt' to 'test.txt' [nyae]? y
hello
不过,更换 shell 并非一件可以掉以轻心的事情。使用任何非默认 shell 都可能遇到一些问题,需要花费时间和精力来解决。