1、Linux下执行shell脚本报错如下:

2、原因:
是Windows和Linux的.sh脚本文件格式不同,如果在脚本中有空行,脚本是在Windows下进行编辑之后上传到linux上去执行的话,就会出现这个问题。
windows 下的换行符是\r\n,而 linux 下的换行符是\n,没有识别/r,所以会导致上述的报错,这个属于脚本编码的问题。
3、解决方法:(运行以下命令即可修改该脚本格式)
在start.sh对应脚本目录下,执行以下命令即可。
vim start.sh
:set ff=unix
:wq
保存退出后,恢复到原先步骤,继续执行原来的脚本命令即可。例如 ./start.sh start
4、命令行解释:
# 用vim编辑器打开文件,open、edit(E)、recover、delete
根据提示选择首字母进入文件编辑状态(键盘E),
vim start.sh
直接输入:冒号后,命令行会自动跳至最后一行进行编辑
#转换格式,设置脚本格式为Linux形式。
vim start.sh
#保存文件并退出,w写入q退出。
:wq
本文介绍了在Linux环境下执行.sh脚本时遇到的由于Windows与Linux换行符差异导致的报错问题。解决方法是使用vim编辑器,通过`:set ff=unix`命令将文件格式转换为Linux标准,然后保存退出,即可正常执行脚本。
4712

被折叠的 条评论
为什么被折叠?



