linux运行shell命令文件时,出现$‘\r‘: command not found报错的解决办法

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
  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值