当前位置: 首页 > 科技观察

如何在Linux中轻松修复拼写错误的Bash命令?

时间:2023-03-16 16:32:53 科技观察

我知道你可以按向上箭头调出你运行的命令,然后使用左/右键移动到拼错的单词并更正拼错的单词,***按回车再次运行它,正确的?可是等等。还有一种更简单的方法来纠正GNU/Linux中拼写错误的Bash命令。本教程解释了如何执行此操作。继续阅读。在Linux中更正拼写错误的Bash命令你有没有运行过类似于下面的命令?$unme-rbash:unme:commandnotfound你注意到了吗?上面的命令有错误。我在uname命令中遗漏了字母a。这个愚蠢的错误我已经犯过很多次了。在我知道这个技巧之前,我曾经按向上箭头调出命令,然后转到命令中拼写错误的单词,更正拼写,然后按回车键再次运行命令。但是相信我。以下技巧非常容易纠正您刚刚运行的命令中的任何拼写错误。要更正上述拼写错误的命令,只需运行:$^nm^nam^这将在uname命令中将nm替换为nam。很酷,不是吗?它不仅可以纠正拼写错误,还可以运行命令。查看下面的屏幕截图。当你在命令中输入错误时使用这个技巧。请注意,它仅适用于Bashshell。额外提示:您有没有想过如何在使用cd命令时自动更正拼写错误?不?没关系!下面的提示将解释如何执行此操作。这个技巧只能在使用cd命令时纠正拼写错误。假设您想使用以下命令更改到下载目录:$cdDonloadsbash:cd:Donloads:Nosuchfileordirectory糟糕!没有名为Donloads的文件或目录。是的,正确的名称是下载。上面的命令中缺少w。要修复此问题并在使用cd命令时自动更正错误,请编辑.bashrc文件:$vi~/.bashrc***添加以下行。[...]shopt-scdspell输入:wq保存并退出文件。***,运行以下命令更新更改。$source~/.bashrc现在,如果在使用cd命令时路径中有任何拼写错误,它会自动更正并转到正确的目录。正如您在上面的命令中看到的那样,我故意打错了字(下载而不是下载),但Bash自动检测到正确的目录名称并cd进入它。此功能内置于Fish和Zshshell中。所以,如果你正在使用它们,那么你就不需要这个技巧。然而,这个技巧有一些局限性。它仅在使用正确的大写字母时有效。在上面的示例中,如果您输入的是cddonloads而不是cdDonloads,它就不会识别出正确的路径。此外,如果路径中缺少一个以上的字母,它也不起作用。