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
相关推荐
IT成长日记18 分钟前
【Nginx开荒攻略】静态文件服务深度解析:MIME类型映射与优化实战
linux·运维·服务器·nginx·mime
弗里德姆1 小时前
DIY主机无网络安装PVE全记录:手机热点+笔记本网络共享实战
服务器·网络·pve
wanhengidc1 小时前
云手机服务器多开需要注意哪些
运维·服务器·智能手机
赋创小助手1 小时前
Supermicro NVIDIA Grace Superchip存储服务器超微ARS-121L-NE316R开箱评测
运维·服务器·人工智能·深度学习·机器学习·自然语言处理
武大打工仔1 小时前
如何使用 Alacritty 让你的 macOS 终端更加出色
linux
深思慎考2 小时前
LinuxC++——etcd分布式键值存储系统入门
linux·c++·etcd
爱倒腾的老唐2 小时前
02、命令行的介绍
linux·bash
z_y_j2299704382 小时前
服务器中使用Docker部署前端项目
服务器·前端·docker·容器
mahuifa2 小时前
C++(Qt)软件调试---Linux动态库链接异常排查(38)
linux·c++·动态库·ldd·异常排查
迎風吹頭髮2 小时前
UNIX下C语言编程与实践16-UNIX 磁盘空间划分:引导块、超级块、i 节点区、数据区的功能解析
java·c语言·unix