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
相关推荐
菜地里的小菜鸟1 小时前
将linux程序打成.run包
linux·将linux程序打成run包·运维自动安装包
一只小菜鸡..2 小时前
南京大学 操作系统 (JYY) 学习笔记:从 UNIX 到 Linux 与庞大的应用生态
笔记·学习·unix
土星云SaturnCloud3 小时前
边缘侧大模型部署的新利器——国科环宇GK 300I大模型一体机深度评测与架构解析
服务器·人工智能·ai·边缘计算
晚风吹长发4 小时前
Docker基础——Docker Network(网络详解)
linux·运维·网络·ubuntu·docker·容器
Cx330_FCQ4 小时前
Tmux使用
服务器·git·算法
高磊20055 小时前
LVS(Linux virual server)
linux·服务器·lvs
shwill1236 小时前
PID 算法(三)--- 增量 PID ↔ 单神经元 PID 等价映射
linux·算法
山峰哥6 小时前
数据库性能救星:Explain执行计划深度拆解
服务器·开发语言·数据库·sql·启发式算法
执笔画流年呀6 小时前
Linux搭建Java项目部署环境
java·linux·运维
Sisphusssss7 小时前
香橙派5plus GPIO
linux·python·ubuntu