为什么拼接变量字符串时,变量二会把变量一的字符串覆盖啊?
本帖最后由 翻口皮 于 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”错误呢?
环境是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转一下试试
用file命令查看一下
用dos2unix转一下试试
作者: shplpy 发布时间: 2011-06-02
回复 翻口皮
dos2unix你的文件先
dos2unix你的文件先
作者: ywlscpl 发布时间: 2011-06-02
谢谢楼上两位!我本来看见那个“^M”的报错信息也怀疑是Dos格式不对,但是我明明是用ascii模式ftp传上去的,所以就否定了格式的问题,所以一直没有想到用dos2unix转一下。
作者: 翻口皮 发布时间: 2011-06-02