在Linux运行sh文件报$‘\r‘: command not found

矫情吗;* 2021-09-25 07:26 456阅读 0赞

本人公众号上线啦!!!

公众号与博客名一样:没有腹肌的程序猿
公众号文章类型:工作上所遇到的需求实现方案分享。
此外也会提供一些数据集供大家使用。(这个还在规划中,毕竟打工人时间挺紧的,哈哈哈哈)
到时候也会不定期给大家抽一些小东西哦。

今天在还原Mysql数据库的时候在本地上编辑了sh文件,然后上传到了服务器去执行
结果运行的时候报了$’\r’: command not found 这个错误.
这个错误原因还是比较明显的,就是符号出现了问题,结合之前遇到过的一些bug.就觉得应该是windows和Linux系统不一样导致的.因为我是.bat文件直接修改的.
查了一下果然是这个原因.具体原因如下
windows下的换行是回车符+换行符,也就是\r\n,而unix下是换行符\n。linux下不识别\r为回车符,所以导致每行的配置都多了个\r,
解决方法:
dos2unix .sh文件
首先你的linux要有安装dos2unix 如果没有安装先执行下面这个命令
yum install -y dos2unix

发表评论

表情:
评论列表 (有 0 条评论,456人围观)

还没有评论,来说两句吧...

相关阅读