首先看一个a.sh文件内容
echo "hello"
注意最后要加一个回车
之后,把同样的文件在windows下编辑一个,在linux下编辑一个。
windows我用editplus,linux我用的VI
之后我们对比一下两走的差异:
# od -c a.sh
0000000 e c h o " h e l l o " \n \n
0000016
# od -c b.sh
0000000 e c h o " h e l l o " \r \n
0000016
a.sh是linux下编写的,b.sh是在windows下编写的,看出问题所在了吧。。。。:)
好,下面是解决办法:
# dos2unix b.sh
dos2unix: converting file b.sh to UNIX format ...
# od -c b.sh
0000000 e c h o " h e l l o " \n
0000015
好,问题解决了。。。。
这个问题目前我会遇到两个在实际工作中出现的异常:
1.在windows下写的 sh文件,到linux上出错
2.在读不同操作系统文件时,人为判断换行的时候一定要注意区别
今晚又再次验证了我的占卜能力。。。。。
echo "hello"
注意最后要加一个回车
之后,把同样的文件在windows下编辑一个,在linux下编辑一个。
windows我用editplus,linux我用的VI
之后我们对比一下两走的差异:
# od -c a.sh
0000000 e c h o " h e l l o " \n \n
0000016
# od -c b.sh
0000000 e c h o " h e l l o " \r \n
0000016
a.sh是linux下编写的,b.sh是在windows下编写的,看出问题所在了吧。。。。:)
好,下面是解决办法:
# dos2unix b.sh
dos2unix: converting file b.sh to UNIX format ...
# od -c b.sh
0000000 e c h o " h e l l o " \n
0000015
好,问题解决了。。。。
这个问题目前我会遇到两个在实际工作中出现的异常:
1.在windows下写的 sh文件,到linux上出错
2.在读不同操作系统文件时,人为判断换行的时候一定要注意区别
今晚又再次验证了我的占卜能力。。。。。