Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
bash参数扩展在登录时杀死gnome和kde_Bash_Gnome_Kde - Fatal编程技术网

bash参数扩展在登录时杀死gnome和kde

bash参数扩展在登录时杀死gnome和kde,bash,gnome,kde,Bash,Gnome,Kde,在gnome ubuntu 12.02或kde kubuntu 14.04下,以下简单的bash脚本in.bashrc将在登录时关闭桌面,并返回登录提示符 echo 'Going in' >> boot.log junk='something;for;me' echo 'junk = '$junk >> boot.log junk2=${junk//;/ } echo 'junk2 ='$junk2 >> boot.log 通过查看日志文件,有问题的一行是参

在gnome ubuntu 12.02或kde kubuntu 14.04下,以下简单的bash脚本in.bashrc将在登录时关闭桌面,并返回登录提示符

echo 'Going in' >> boot.log
junk='something;for;me'
echo 'junk = '$junk >> boot.log
junk2=${junk//;/ }
echo 'junk2 ='$junk2 >> boot.log
通过查看日志文件,有问题的一行是参数扩展和对junk2的赋值

在启动shell的所有其他情况下,它都可以正常工作

我已经确认它是同一个shell,/bin/bash。我不知道还有什么地方可以看,如果有任何帮助,我们将不胜感激

谢谢你抽出时间

编辑
问题是,桌面初创公司不运行bash,而是调用具有bash ism的.profile。删除bash ism修复了该问题。

将echo命令重写为echo junk=$junk>>boot.log和junk1=${junk/;/}.你使用junk2和junks只是一个输入错误吗?@DavidC.Rankin echo引用更改可能是个好主意,尽管代码片段中的代码不会有什么不同,但作业中的引用几乎肯定是完全不必要的。好吧,不是这样的。代码中的任何内容都不会对kdm或gdm的启动产生任何影响。如果只是碰巧有一个全球性的垃圾或垃圾,也没有关系,因为它们有本地范围。我怀疑垃圾是全球性的,尽管它是唯一一个不在本地范围内的。真正的问题很可能是由于生成的任何错误导致登录shell以非0退出代码退出。这只是一个玩笑,但很合理……是的,垃圾是一个打字错误。引用也没关系。回音只是为了确认问题所在。由于junk2的第二次回声从未出现,死亡发生在分号替代处。然而,目前还不清楚这一计划失败的原因。删除该行,则登录成功。