我很好奇,有没有办法“通配”一个命令?我的意思是,例如,我知道有一个命令可以为我做某事,但我只记得它fix
里面有一个单词,而且我确定它安装在我的机器上,并且在我的PATH
如果我记得它的第一个字符,我想我可以通过 tab 键退出,但如果我不记得了怎么办?
有什么办法可以找到这样的命令吗?
$ find-command *fix*
答案1
apropos
可能会有用。它会给你更多匹配项(因为它在手册中搜索),但也很短描述,这可能是件好事。从开始apropos -s 1,8 fix
。参见man 1 apropos
并阅读-r
和-w
选项。
如果您的$PATH
路径不包含触发通配符或单词拆分的路径,请将其提供给find
并按如下方式继续:
find $(printf "$PATH" | tr ':' ' ') -maxdepth 1 -type f -executable -name '*fix*'
笔记:
$()
故意不引用;-maxdepth
并且-executable
POSIX 不要求,您find
可能不支持它们。