我的标签填写有问题。
假设我这么做:
cd test // works fine, go into test directory
ls // works fine, displays all of the files假设我有以下文件:
abc.txt
ada.txt
afg.txt如果我键入a,然后键入TAB以实现自动完成,则会显示以下不同的内容:
a2p
a2x
... // bunch more我觉得它以为我在另一个目录里?
发布于 2014-03-06 15:02:06
Bash完成不像您预期的那样工作。我会尽量给出一个粗略的解释。
当您键入命令(或者尚未编写任何命令)并按tab键时,bash尝试使用$PATH上的任何可用命令完成(a2p和a2x只是两个命令)。一旦编写了命令,如果再次按tab键,它将尝试完成该命令的参数(示例中的目录test是cd的一个参数)。
发布于 2022-07-14 02:25:46
为了扩展以前的答案,任何想要解决这个问题的人,本教程将向您展示如何创建自定义完成:
https://iridakos.com/programming/2018/03/01/bash-programmable-completion-tutorial
https://unix.stackexchange.com/questions/118440
复制相似问题