Linux运行shell脚本时报错"syntax error near unexpected token `$'\r''
Linux运行shell脚本时,常常会发生syntax error near unexpected token `$'\r''或者syntax error: unexpected end of file等,诸如此类的报错信息出现的原因是因为在编写脚本内容时,在windows上操作,一些回车符或TAB符在Linux系统中是识别不了的。当出现这类问题时,可以通过vi/vim 加-b参数可以看出文件中的
Linux运行shell脚本时,常常会发生syntax error near unexpected token `$'\r''或者syntax error: unexpected end of file等,诸如此类的报错信息出现的原因是因为在编写脚本内容时,在windows上操作,一些回车符或TAB符在Linux系统中是识别不了的。
当出现这类问题时,可以通过vi/vim 加-b参数可以看出文件中的回车符是否正常
# vim -b test.sh
在文件中,如果是Windows的字符会显示为 ' ^M '
以下为转换的三种方式,任选其一即可:
1、通过pycharm转换
将脚本文件通过pycharm软件打开,CTRL+A 全选,然后选择CRLF --> LF-Unix and OS X(\n)
之后再将文本全选复制粘贴到Linux系统上即可
2、通过UltraEdit(UE)转换
将脚本文件通过UltraEdit(UE)软件打开,右键文件选择转换 --> DOS到UNIX(D)
转换之后就可以直接将文件保存拖拽到Linux上或者直接复制粘贴到Linux文件中
注意:这里用到的版本是UltraEdit 19,可能因为版本不通,转换功能键的位置不同,若不在上图所示的位置中,可以尝试选择主菜单(最上面的导航条)中的 文件-->转换
3、通过Linux转换
这里可以直接使用sed命令进行替换,命令如下:
# sed -i 's/\r//g' test.sh
更多推荐
所有评论(0)