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

在ubuntu的命令行下输入一个命令,命令里有个变量,像ls$HOME/,这时一按tab来提示的时候,我的命令就自动变成了ls\$HOME/。有没有人遇到过啊?我在其他一... 在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或者更高 <http://gnu.org/licenses/gpl.html>

求高人指点。谢谢!!
展开
 我来答
百度网友5d1bd88
2013-08-23 · TA获得超过3.8万个赞
知道大有可为答主
回答量:1.2万
采纳率:89%
帮助的人:5759万
展开全部
不是所有linux版本都这样。RHEL5,6没这个问题。
你的意思是多了一个"\"吗? 你是在输完ls $HOME再按tab键?
追问
是输玩ls $HOME/再tab。
输入ls $HOME时tab,它还没有多那个反斜杠。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5311d79
2013-08-25 · TA获得超过1.9万个赞
知道大有可为答主
回答量:6356
采纳率:71%
帮助的人:3172万
展开全部

先把下面这条命令的执行结果给我看看:

env | grep HOME

 

我这里是会展开为环境变量 HOME 对应的值。

更多追问追答
追问
命令的结果就是我的家目录啊,这个不用自己设也会有的啊

HOME=/home/xqw

我就是希望他能自动展开,可是它给我在$前加了个反斜杠。
追答
我这里是会自动展开为环境变量所指示的家目录。
Ubuntu默认是dash,你改为bash啦?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2016-07-29
知道答主
回答量:1
采纳率:0%
帮助的人:1089
展开全部
shopt -s direxpand

或者

shopt -s cdable_vars

祝好运
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
snail_8888
2015-11-03 · 超过13用户采纳过TA的回答
知道答主
回答量:41
采纳率:100%
帮助的人:10.6万
展开全部
楼主解决了么?我也遇到了同样的问题,会自动加一个反斜杠到后面。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c161d43c7
2013-08-23 · TA获得超过1776个赞
知道小有建树答主
回答量:1227
采纳率:69%
帮助的人:277万
展开全部
这是因为bash以为你要输入$符号(即以为你真的要输入一个名字中包含$字符的名字),需要转义导致的。
追问
我的问题是怎么解决这个问题呢,某些其它linux系统的bash是不会这样子的,这问题真的跟bash有关吗?还是跟环境变量有关?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式