Unix\Linux 执行shell报错:“$‘\r‘: 未找到命令” 解决

linux执行脚本sh xxx.sh报错:$'xxx\r': 未找到命令

原因:shell脚本在Windows编写导致的换行问题: Windows 的换行符号为 CRLF(\r\n),而 Unix\Linux 为 LF(\n)。

缩写 全称 ASCII转义 说明
CR Carriage Return \r 回车
LF Linefeed \n 换行,Unix\Linux 的换行符
CRLF Carriage Return & Linefeed \r\n 回车并换行,Windows 的换行符

解决:

vim 转换为 Unix 换行

bash 复制代码
# 查看文件格式信息
$ file xxx.sh
xxx.sh: a /usr/bin/env bash\015 script, ASCII text executable, with CRLF line terminators

#-----------------------------------------------
# 转换为 Unix 格式换行
$ vim xxx.sh
:set ff=unix
:wq
#-----------------------------------------------

# 再次查看文件格式信息
$ file xxx.sh
xxx.sh: a /usr/bin/env bash script, ASCII text executable
相关推荐
咩咩大主教6 小时前
Gitlab报错:sudo: a password is required
linux·服务器·git·ubuntu·gitlab·shell·gitlabci/cd
敖云岚6 小时前
【Linux 指北】常用 Linux 指令汇总
linux·运维·服务器
田辛 | 田豆芽8 小时前
【Linux】在VMWare中安装Ubuntu操作系统(2025最新_Ubuntu 24.04.2)#VMware安装Ubuntu实战分享#
linux·运维·ubuntu
Ccc030.8 小时前
TCP网络协议
服务器·网络·tcp/ip
不羁。。8 小时前
【操作系统安全】任务2:用户与用户组
linux·运维·服务器
zxfeng~9 小时前
泰山派开发之—Ubuntu24.04下Linux开发环境搭建
linux·嵌入式·嵌入式linux·泰山派
十年一梦实验室10 小时前
使用Mermaid语法绘制的C语言程序从Linux移植到Windows的流程图
linux·c语言·windows
姜太小白10 小时前
【Linux】centos配置可用的yum源
linux·运维·centos
小钊(求职中)10 小时前
RabbitMQ从入门到实战-知识详情总结
java·服务器·spring boot·分布式·spring·面试·rabbitmq
tan180°11 小时前
版本控制器Git(4)
linux·c++·git·后端·vim