bash - 如何激活 FULL $var 完成

标签 bash variables ubuntu debian bash-completion

在 Debians BASH 下我可以执行以下操作:

foo=/path/to/some/file

cat $f[TAB]

如您所见,我可以通过按 TAB 键自动完成变量 $foo。

在 Ubuntu (11) 下,行为不一样(我在 bashrc 中激活了“/etc/bash_completion”)。

这正在工作:

echo $f[TAB]

这个不起作用:

cat $f[TAB]

任何人都可以给我提示,如何让最后一个工作吗?

最佳答案

您可以通过以下操作删除 /etc/bash_completioncat 提供的完成规范:

complete -r cat

或者您可以查看修改 /etc/bash_completion 中提供的完成选项是否适用于您正在使用的 Bash 版本:

complete -F _longopt -o filenames -o bashdefault cat

如果您使用的是 Bash 4.2 的最新修补版本,有一个选项可能会有所帮助(我还没有尝试过):

shopt -s direxpand

关于bash - 如何激活 FULL $var 完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11259456/

相关文章:

regex - 在 Bash 中引用正则表达式

perl - 为什么用 "our"声明的变量在文件中可见?

java - 如何找到设置 java_runtime_dir 变量的值?

ubuntu - pptpsetup 遇到错误 : "EAP: unknown authentication type 26; Naking"

bash - shell脚本,for循环,does循环等待执行命令进行迭代

linux - Bash脚本多个命令问题

xslt - 使用 xsl :choose 动态定义 XSLT 变量

ubuntu - Visual Studio Code Ubuntu aspnet core 2 容器调试

linux - 获取 "-("和 ")-"之间的字符串,linux 目录

Ruby 奇数逗号与一系列变量一起使用