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
相关推荐
白驹过隙^^10 小时前
windows通过docker compose部署oktopus服务
linux·windows·tcp/ip·docker·容器·开源
独自破碎E10 小时前
在Linux系统中怎么排查文件占用问题?
linux·运维·服务器
tiechui199410 小时前
最小化安装 ubuntu
linux·运维·ubuntu
Maggie_ssss_supp10 小时前
Linux-Web服务(Apache)
linux·运维·apache
扶尔魔ocy11 小时前
【linux C】在mysql中增加自定义的C动态库
linux·运维·mysql
QUST-Learn3D11 小时前
geometry4Sharp Ray-Mesh求交 判断点是否在几何体内部
服务器·前端·数据库
oMcLin11 小时前
如何在Ubuntu 20.04上通过配置ZFS存储池,提升高性能存储系统的可靠性与扩展性
linux·运维·ubuntu
独自破碎E11 小时前
使用Linux的top命令进行性能监控的步骤?
linux
Ha_To11 小时前
2026.1.6 Windows磁盘相关
linux·运维·服务器
牛奶咖啡1311 小时前
shell脚本编程(一)
linux·shell·shell脚本·shell脚本解析·grep命令语法·grep选项详解·正则表达式解析