在bash中,环境变量无法正确制表符扩展
时间:2020-03-06 14:26:43 来源:igfitidea点击:
在bash中,将环境变量放置在echo命令后会正确制表符扩展,例如:
echo $HOME
但是在cd或者cat之后,bash在$符号前放置一个\,如下所示:
cd $HOME
如果我将变量用作命令的第二个参数,则它根本不会扩展:
cp somefile $HOM
我的.bashrc或者.inputrc文件中有什么神秘的选项引起我如此困扰?
解决方案
对于第二种情况,我们可以按Tab键之前的ESC来解决它。
我不知道解决问题的方法,但是我们可以查看/ etc / bash_completion或者/etc/bash_completion.d下的文件,以确定哪些命令使用自动完成功能以及如何使用自动完成功能。
help complete
可能也会有所帮助。
《 Bash参考手册》中有关扩展勘误表的信息超出了预期。
第8.7节似乎是开始的地方。它提供有关"完成"功能的信息。
尝试用complete -r cd删除许多Linux发行版为cd命令安装的特殊程序完成功能。该函数将在CDPATH变量中指定的目录列表搜索添加到选项卡补全中以查找cd,但以破坏默认补全行为为代价。
有关更多详细信息,请参见http://www.gnu.org/software/bash/manual/bashref.html#Programmable-Completion。