为什么拼接变量字符串时,变量二会把变量一的字符串覆盖啊?

本帖最后由 翻口皮 于 2011-06-02 20:53 编辑

环境是CentOS 5.4

代码:
aaa=china
bbb=unix
echo aaa=$aaa
echo bbb=$bbb
echo $SHELL
echo $SHELL$aaa$bbb

输出:
aaa=china
bbb=unix
/bin/bash
unix/bashchina

最后一行,可以看到本来应该出现在最后的字符串“unix”,跑到最前面把字符串“/bin”给覆盖掉了,不知道为什么?


另外,为什么一旦我在代码最前面加上 #!/bin/bash 后,会报“-bash: ./test: /bin/bash^M: bad interpreter: No such file or directory”错误呢?

作者: 翻口皮   发布时间: 2011-06-02

被覆盖了?严重怀疑你的脚本文件的格式
用file命令查看一下
用dos2unix转一下试试

作者: shplpy   发布时间: 2011-06-02

回复 翻口皮


    dos2unix你的文件先

作者: ywlscpl   发布时间: 2011-06-02

谢谢楼上两位!我本来看见那个“^M”的报错信息也怀疑是Dos格式不对,但是我明明是用ascii模式ftp传上去的,所以就否定了格式的问题,所以一直没有想到用dos2unix转一下。

作者: 翻口皮   发布时间: 2011-06-02