问题:在Windows中写了一个shell脚本在Linux中死活不能运行,怎么也查不出错误,原来是格式问题。
原因:Windows/DOS系统的换行符是/r/n,Unix/Linux系统的换行符是/n,Windows中的文本在Linux中查看每行末尾会出现^M标记,表示无法识别的字符。^M字符是不可见字符,需要用cat -v 或 vi -b 才能显示。
解决:使用dos2unix命令进行格式转换,或者使用sed将^M删除(^是ctrl+v M是ctrl+M)
本文共 284 字,大约阅读时间需要 1 分钟。
问题:在Windows中写了一个shell脚本在Linux中死活不能运行,怎么也查不出错误,原来是格式问题。
原因:Windows/DOS系统的换行符是/r/n,Unix/Linux系统的换行符是/n,Windows中的文本在Linux中查看每行末尾会出现^M标记,表示无法识别的字符。^M字符是不可见字符,需要用cat -v 或 vi -b 才能显示。
解决:使用dos2unix命令进行格式转换,或者使用sed将^M删除(^是ctrl+v M是ctrl+M)
转载于:https://www.cnblogs.com/Peter2014/p/7659066.html