Pat*_* B. 7 command-line bash autocomplete
使用不同的 bash 环境(不同的安装),TAB在 . 这是在哪里处理的?
一个具体的例子:
我cmake
用-D
-argument运行:
cmake -DCMAKE_TOOLCHAIN_FILE=~/x-too<TAB>
Run Code Online (Sandbox Code Playgroud)
它什么都不做。而(注意=
和~
cmake -DCMAKE_TOOLCHAIN_FILE= ~/x-too<TAB>
Run Code Online (Sandbox Code Playgroud)
完成到
cmake -DCMAKE_TOOLCHAIN_FILE= ~/x-tools
Run Code Online (Sandbox Code Playgroud)
在其他系统上,它甚至可以在 = 和 ~ 之间没有空格的情况下工作。
在哪里可以找到相关的配置文件和值?
你必须从 开始/etc/profile
。查看由此来源的其他文件(.
可能使用命令)。
例如在我的 Ubuntu 系统上,
/etc/profile
源所有 *.sh 文件/etc/profile.d/
/etc/profile.d/bash_completion.sh
来源/usr/share/bash-completion/bash_completion
/usr/share/bash-completion/completions/
~/.bash_completion
您需要在各种系统上遵循该路径。cmake
也许其中之一的 /usr/share/bash-completion/completions/ 中没有文件。