更正拼写错误的bash命令

时间:2015-09-26 12:18:46

标签: linux bash shell

如果拼写错误,我正在寻找纠正bash命令的方法。

假设您安装了一个名为“FooBar”的程序,但在shell中键入“foobar”(或foo bar或FOOBAR或foebar)。有没有办法检查你的PATH中是否存在类似你想要的东西?

我正在考虑编写一个规范用户输入的bash脚本,并使用Levenshtein distance算法检查他们在PATH中输入的内容。但也许已经写出了一些东西或者更好的方法来完成这项任务。

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

如果您的问题仅区分大小写,则可以通过以下方式在readline配置中将其关闭:

echo "set completion-ignore-case On" >> ~/.inputrc

但是,如果你正在寻找一些聪明的机制来执行类似的命令(例如使用模糊逻辑),我不建议在命令行中使用这样的工具,因为它可能是非常危险。

想象一下,例如 rmv 等命令会发生什么?是rm还是mv? ..只有用户才能回答这个问题。

注意:如果您运行的是一个不区分大小写的Cygwin环境,这可能很有用。在Linux中,命令区分大小写。因此,关闭此功能不是一个好主意。