奇怪的Bash脚本错误
发布时间:2016-10-23 09:19:45 所属栏目:Linux 来源:网络整理
导读:由于工作需要,写了一个脚本,该脚本的功能是实现: 有两个.txt文件,里面存放了一些域名,然后从这两个.txt文件里面,随机取出一个域名,写入到shiting.htm和x
cat的结果很无语,命令提示符和结果重合了,看文件的内容,发现后面有个 ^M,这应该是DOS格式文件的换行符,LINUX里面的换行符应该是$才对。查看下文件格式发现脚本的是UNIX。但是再执行,还是同样的问题。然后我就把脚本手动的在LINUX里面输入了一遍,格式应该不会有问题了,但是还是同样的问题。 今天突然灵机一动,会不会是.txt文件格式的问题,而不是脚本格式的问题呢。所以试了一下 VI打开之后,在命令模式下,使用命令 set ff? 可以查看到文件格式 格式确实是dos,然后使用命令改一下 set ff=unix 把两个全改了,然后再执行脚本,一切OK。 darling@00057:/tmp$ bash -x 123.sh + yyxz=/data/cdn/xiazai.txt + yyst=/data/cdn/shiting.txt + xiazai=/tmp/xiazai.htm + shiting=/tmp/shiting.htm + log=/tmp ++ wc -l /data/cdn/xiazai.txt ++ awk '{print $1}' + xznm=10 ++ wc -l /data/cdn/shiting.txt ++ awk '{print $1}' + stnm=10 + down=3 + listen=3 ++ sed -n 3p /data/cdn/xiazai.txt + xzym=http://nyl.gpix4y.yymommy.com ++ sed -n 3p /data/cdn/shiting.txt + stym=http://y3ek.otw.hotchanson.com + echo -n http://nyl.gpix4y.yymommy.com + echo -n http://y3ek.otw.hotchanson.com ++ date '+%F %T' + echo 'The http://nyl.gpix4y.yymommy.com at 2012-06-07 11:50:40 be provided' ++ date '+%F %T' + echo 'The http://y3ek.otw.hotchanson.com at 2012-06-07 11:50:40 be provided' + exit 0 哎呀我的老天爷,终于搞定了。真不容易,折腾了我几天。 一个文件格式的错误,就能引起脚本运行的精神错乱,哎,吸取教训,以后有什么文件,要在LINXU里面写,拒绝从WIN写好之后,再传入LINUX. 本栏目更多精彩内容:http://www.bianceng.cn/OS/Linux/ (编辑:佛山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |