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 换行

# 查看文件格式信息
$ 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. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 01:34:05       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 01:34:05       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 01:34:05       58 阅读
  4. Python语言-面向对象

    2024-07-10 01:34:05       69 阅读

热门阅读

  1. python 学习

    2024-07-10 01:34:05       21 阅读
  2. 【Unix/Linux】Unix/Linux如何查看系统版本

    2024-07-10 01:34:05       19 阅读
  3. 【Unix/Linux】$bash-3.2是什么

    2024-07-10 01:34:05       21 阅读
  4. Win11系统vscode配置C语言环境

    2024-07-10 01:34:05       24 阅读
  5. Mojo有哪些优势和劣势

    2024-07-10 01:34:05       19 阅读
  6. 论文阅读:Large Language Models for Education: A Survey

    2024-07-10 01:34:05       25 阅读
  7. ARM汇编的基础语法

    2024-07-10 01:34:05       24 阅读
  8. postman

    postman

    2024-07-10 01:34:05      20 阅读
  9. Redis

    Redis

    2024-07-10 01:34:05      20 阅读
  10. [Linux安全运维] Linux命令相关

    2024-07-10 01:34:05       26 阅读
  11. PCL 点云最小外接球形包围盒

    2024-07-10 01:34:05       20 阅读
  12. Pytest单元测试系列[v1.0.0][高级技巧]

    2024-07-10 01:34:05       19 阅读
  13. CLIP-EBC:通过增强的逐块分类,CLIP能够准确计数

    2024-07-10 01:34:05       24 阅读