linux shell脚本无法执行,报错syntax error near unexpected token `$'\r''解决方法

最近一直忙于项目上的要求,在编写各种自动化安装的脚本,正好有一个需求是在之前的项目上编写过的,目前只需要拿来修改下即可。

之前的shell脚本是在服务器上编写的,后来又已复制的方式存在在了电脑上,以txt文件的形式存放的。于是复制到了编辑工具中,进行了相应项的修改。修改完毕后,拿到服务器上测试,结果执行sh XXX.sh后就一直提示
linux shell脚本无法执行,报错syntax error near unexpected token `$'\r''解决方法
很是奇怪????脚本检查了没有错误的,为什么会有这个提示呢。
使用vi 命令打开检查下脚本
vi XXX.sh
linux shell脚本无法执行,报错syntax error near unexpected token `$'\r''解决方法
还是没什么问题呢?脚本中没有错误,也没有什么特殊的地方????怎么回事呢????

突然想到了这个脚本是从txt文件中粘贴出来的,会不会是格式的问题??脚本在存在在txt中,在进行粘贴后可能会出现格式的问题,这个之前是很常见的问题!!!
于是抱着这个问题查找的态度。我们再次执行下vim命令,不过需要加参数了!!!!!

vim -b XXX.sh

我ca,果然如此,在复制进来后,怎么每行后面都多了“”“^M”这个玩意!!!!kengdie!!!
注:关于vi命令的详细使用方法及参数,我们后续再基础命令系列里会将
linux shell脚本无法执行,报错syntax error near unexpected token `$'\r''解决方法
几百行的代码,如果手动处理要处理到什么时候?要天荒地老了吧。

好,这里我们来进行快速处理!

sed -i 's/\r//g' javaInstall.sh

执行完了如上命令在看,是不是文件已经OK了!~~~~
linux shell脚本无法执行,报错syntax error near unexpected token `$'\r''解决方法