Chinaunix

标题: 为什么拼接变量字符串时,变量二会把变量一的字符串覆盖啊? [打印本页]

作者: 翻口皮    时间: 2011-06-02 20:51
标题: 为什么拼接变量字符串时,变量二会把变量一的字符串覆盖啊?
本帖最后由 翻口皮 于 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”错误呢?
作者: shplpy    时间: 2011-06-02 21:34
被覆盖了?严重怀疑你的脚本文件的格式
用file命令查看一下
用dos2unix转一下试试
作者: ywlscpl    时间: 2011-06-02 21:35
回复 1# 翻口皮


    dos2unix你的文件先
作者: 翻口皮    时间: 2011-06-02 22:26
谢谢楼上两位!我本来看见那个“^M”的报错信息也怀疑是Dos格式不对,但是我明明是用ascii模式ftp传上去的,所以就否定了格式的问题,所以一直没有想到用dos2unix转一下。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2