问题描述:
Linux执行shell脚本时报错如下:
mkdir: cannot create directory `/usr/local/zabbix/logs\r': No such file or
directory
'est2.bash: line 16: syntax error near unexpected token `in
'est2.bash: line 16: `case $1 in
问题分析:
报错显示执行的命令为‘/usr/local/zabbix/logs\r’,命令结束多了一个‘\r’,vim编辑器打开文件发现文件底部显示‘"test2.bash"
[noeol][dos] 44L, 1650C’字段,执行:set ff? 得到结果为dos,百度得到结果是因为脚本是在windows下使用编辑器编写后传到linux下的,文件格式为dos而Linux下脚本应为unix格式,因此需要修改文件格式。
问题解决:
方法一:vim filename
set fileformat=unix 或者set ff=dos
:wq
方法二:sed -i 's/^M//' filename
方法三:tr -d "\015" filename
解决方法参考文档:http://blog.youkuaiyun.com/fan_hai_ping/article/details/8352087,选取了自己比较喜欢的方式进行了尝试

434

被折叠的 条评论
为什么被折叠?



