永发信息网

linux下命令行tab的时候,变量前自动多了个反斜杠

答案:5  悬赏:70  手机版
解决时间 2021-03-02 17:50
  • 提问者网友:骑士
  • 2021-03-02 04:55
在ubuntu的命令行下输入一个命令,命令里有个变量,像 ls $HOME/,这时一按tab来提示的时候,我的命令就自动变成了ls \$HOME/。有没有人遇到过啊?我在其他一些linux系统也遇到过,不止时ubuntu,不知到怎么回事。用的时bash。
bash --version
GNU bash, 版本 4.2.25(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
许可证 GPLv3+: GNU GPL 许可证版本3或者更高

求高人指点。谢谢!!
最佳答案
  • 五星知识达人网友:琴狂剑也妄
  • 2021-03-02 05:05
先把下面这条命令的执行结果给我看看:
env | grep HOME 
我这里是会展开为环境变量 HOME 对应的值。
全部回答
  • 1楼网友:醉吻情书
  • 2021-03-02 08:33
不是所有linux版本都这样。RHEL5,6没这个问题。 你的意思是多了一个"\"吗? 你是在输完ls $HOME再按tab键?
  • 2楼网友:往事埋风中
  • 2021-03-02 06:54
这是因为bash以为你要输入$符号(即以为你真的要输入一个名字中包含$字符的名字),需要转义导致的。
  • 3楼网友:走死在岁月里
  • 2021-03-02 05:43
楼主解决了么?我也遇到了同样的问题,会自动加一个反斜杠到后面。 再看看别人怎么说的。
  • 4楼网友:毛毛
  • 2021-03-02 05:26
shopt -s direxpand 或者 shopt -s cdable_vars 祝好运
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯