Linux中输入命令按tab提示后会自动转义解决方案(xjl456852原创)

linux在命令行输入命令时,如果有$字符,按tab键时会自动在前面加入转义字符,反而达不到自己需要的效果.
例如:
在Centos7下,我要进入一个环境变量,并编辑一个文件:
比如我要进入$JAVA_HOME目录下的一个文件夹,但是通过按tab补全提示,$JAVA_HOME前面会加入转义变为:$JAVA_HOME,这样就不能对其目录下的内容进行提示了:
  1. vim $JAVA_HOME/xxx
按tab之后,变为:
  1. vim $JAVA_HOME/xxx

解决方案:
解决这种问题需要进行设置,不让他自动转义,执行命令(命令的意思是开启目录扩展,-s是打开):
  1. shopt -s direxpand
然后再支持刚才的命令,按tab后会把$JAVA_HOME转为真实的文件夹,再tab提示就非常方便了,达到了理想的效果.


扩展阅读:
shopt还可以开启其它功能:
命令,可以查看已将开启和关闭的功能:
  1. shopt
关闭刚才开启的目录扩展:
  1. shopt -u direxpand

其它命令参考:
shopt -s cdable_vars


原文地址:https://www.cnblogs.com/xjl456852/p/5807049.html