在bash中,如果将环境变量放在echo命令之后,则tab将正确展开,例如:
echo $HOME
但是在cd或cat之后,bash会在$符号前面加上一个\符号,如下所示:
cd \$HOME
如果我使用变量作为命令的第二个参数,它根本不会展开:
cp somefile $HOM
我的.bashrc或.inputrc文件中有什么神秘的选项导致我如此痛苦?
最佳答案
尝试complete-r cd删除许多Linux发行版为cd
命令安装的特殊编程完成功能。该函数将搜索CDPATH变量中指定的目录列表添加到cd
的tab completions中,但代价是破坏默认的完成行为。
更多血淋淋的细节请参见http://www.gnu.org/software/bash/manual/bashref.html#Programmable-Completion。
关于bash - 在bash中,环境变量无法正确分页扩展,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/103316/