shell脚本:$'\r':command not found的解决方法
最近想写一些常用的shell脚本,是在windows编写然后传到linux的。
然后碰到了init.sh: line 1: $'\r': command not found 1
。
记录一下解决方案。
在Linux系统中,运行Shell脚本,出现了如下错误: one-more.sh: line 1: $’\r’: command not found 1 出现这样的错误,是因为Shell脚本在Windows系统编写时,每行结尾是\r\n,而在Linux系统中行每行结尾是\n,所以在Linux系统中运行脚本时,会认为\r是一个字符,导致运行错误。
关注博主不迷路,获取更多干货资源
1 事故现场
在Linux系统中,运行Shell脚本,出现了如下错误:
1 |
|
2 事故分析
出现这样的错误,是因为Shell脚本在Windows系统编写时,每行结尾是\r\n, 而在Linux系统中行每行结尾是\n,所以在Linux系统中运行脚本时,会认为\r是一个字符,导致运行错误。
3 事故处理
去除Shell脚本的\r字符
3.1 方案一
1 |
|
3.2 方案二
1 |
|
1 |
|
8 躺板板
红伞伞白杆杆,吃完一起躺板板
躺板板埋山山,亲朋都来吃饭饭
饭饭里有红伞伞,吃完全村埋山山,来年长满红伞伞
关注博主不迷路
本博客所有文章除特别声明外,均为原创。版权归博主小马所有。任何团体、机构、媒体、网站、公众号及个人不得转载。如需转载,请联系博主(关于页面)。如其他团体、机构、媒体、网站、博客或个人未经博主允许擅自转载使用,请自负版权等法律责任!