问题描述

在Windows下编写好sh文件后,在Linux下运行会报错:bash: $’\r’: command not found
Linux运行文件时报错:bash: $'\r': command not found - 图1

问题分析

这是因为Windows系统的文件换行使用的是\r\n,而Unix系统是\n

问题解决

方式一

安装dos2unix来进行文件转换

  1. yum install -y dos2unix
  2. dos2unix aaa.sh

方式二

使用vim打开文件,然后使用命令:set ff=unix,保存文件

  1. # 使用vim打开文件
  2. vim aaa.sh
  3. # 转换格式
  4. :set ff=unix
  5. # 保存文件
  6. :wq