在我的一个系统上,bash可编程完成适用于这样的基本命令:
$ ls -l t/
01_createTicket/ 02_methods.t
[etc...]
但是,它不适用于我的自定义命令中的开关:
$ ./test_all.pl --environment=test --verbosity=1 --test=t/
[will not autocomplete; does not show contents of directory]
在我所有其他系统上,第二个示例有效。
我需要在我的系统上调整什么才能在长命令结束时启用bash完成?
答案 0 :(得分:2)
由于您的非工作系统具有自动完成条目,您的工作系统不会像在complete -p
输出中看到的那样在非工作系统上运行complete -r
以清除完成条目(source)。
修改可以在任何启动文件中加载完成:/etc/profile
,~/.bash_profile
,~/.bash_login
或~/.profile
。它们按此顺序进行测试(bash(1), section "Invocation")。我怀疑您的/etc/profile
正在加载完成情况,这就是您complete -r
需要.bash_profile
清除它们的原因。