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
相关推荐
---学无止境---3 小时前
Linux中基数树批量查询数据项相关函数的实现
linux
我先去打把游戏先3 小时前
ESP32学习笔记(基于IDF):ESP32连接MQTT服务器
服务器·笔记·单片机·嵌入式硬件·学习·esp32
我也想失去烦恼4 小时前
Linux系统/etc/hosts文件中配置了主机解析,但还是无法解析ip
linux·运维·服务器
德福危险5 小时前
密码枚举的艺术:靶机练习之midwest
服务器·安全·web安全
deng-c-f6 小时前
Linux C/C++ 学习日记(29):IO密集型与CPU密集型、CPU的调度与线程切换
linux·学习·线程·cpu·io密集·cpu密集
ximy13356 小时前
AI服务器工作之整机部件(CPU+内存)
运维·服务器
weixin_421133416 小时前
bisheng 的 MCP服务器添加 或 系统集成
运维·服务器
报错小能手9 小时前
linux学习笔记(43)网络编程——HTTPS (补充)
linux·网络·学习
报错小能手9 小时前
linux学习笔记(45)git详解
linux·笔记·学习
ximy13359 小时前
AI服务器工作之线材的接口介绍
运维·服务器