在wsl中运行'./Allrun.sh'时报错:$'\r': command not found

发布时间 2023-11-21 10:44:02作者: 希望先生

在Windows下编写好sh文件后,在Linux下或者wsl中运行会报错: line 2: $'\r': command not found

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

问题解决:

dos2unix Allrun.sh

dos2unix是将Windows格式文件转换为Unix、Linux格式的实用命令。Windows格式文件的换行符为\r\n ,而Unix&Linux文件的换行符为\n. dos2unix命令其实就是将文件中的\r\n 转换为\n。

而unix2dos则是和dos2unix互为孪生的一个命令,它是将Linux&Unix格式文件转换为Windows格式文件的命令。