当前位置: 首页 > news >正文

更改文件格式由 dos 到 unix

这个错误:

bash: ./install.sh: /bin/bash^M: 错误的解释器: 没有那个文件或目录

本质原因是:install.sh 文件使用了 Windows 的换行符(CRLF),而 Linux 需要 Unix 换行符(LF)


原因解释

Linux 执行脚本时,会读取第一行:

#!/bin/bash

作为解释器路径。

但是你的文件实际是:

#!/bin/bash\r

其中:

  • \r = Windows 回车符(CR,ASCII 13)
  • \n = Linux 换行符(LF,ASCII 10)

所以 Linux 看到的解释器变成:

/bin/bash^M

它会尝试寻找:

/bin/bash^M

当然不存在,于是报:

错误的解释器: 没有那个文件或目录

解决方法 1:dos2unix(推荐)

安装:

Debian/Ubuntu:

sudo apt install dos2unix

转换:

dos2unix install.sh

然后:

./install.sh

即可。


解决方法 2:使用 sed

不安装工具:

sed -i 's/\r$//' install.sh

检查:

./install.sh

解决方法 3:vim 修改

打开:

vim install.sh

查看文件格式:

:set ff?

如果显示:

fileformat=dos

说明是 Windows 格式。

修改:

:set ff=unix

保存:

:wq

解决方法 4:重新生成文件

如果这个脚本来自 Windows:

例如:

Windows → Git → Linux

建议 Git 配置:

Linux 下:

git config --global core.autocrlf false

或者:

git config --global core.autocrlf input

这样 checkout 到 Linux 时保持 LF。


如何确认是否有 CRLF?

执行:

file install.sh

如果看到:

install.sh: Bourne-Again shell script, ASCII text executable, with CRLF line terminators

说明就是这个问题。

也可以:

cat -A install.sh | head

看到:

#!/bin/bash^M$

其中:

^M

就是 Windows 回车符。


额外建议

以后在 Linux 下写 shell:

文件第一行:

#!/usr/bin/env bash

比:

#!/bin/bash

更通用,因为 bash 可能安装在:

/usr/local/bin/bash

或者其他路径。

例如:

#!/usr/bin/env bashecho "hello"

然后:

chmod +x install.sh
./install.sh

即可。

http://www.jsqmd.com/news/1324965/

相关文章:

  • 设备租出去了,账还在 Excel 里:我们给工程机械中小企业做系统,从登录页就开始改
  • 小一寸证件照用手机就能搞定:尺寸说明、工具选择和详细制作流程 - 软件小管家
  • 苏州相城代理记账找谁靠谱
  • AI生成标准Word文档的技术方案与实践
  • 基于腾讯云轻量服务器与RAG技术构建低成本私有知识库AI助手
  • 2026年成都菁英单招住宿环境实力机构推荐,选对备考大本营是关键 - 优质品牌商家
  • Bevy/wgpu 在 R36S 掌机上屏收官:第四~六轮实测判读与最后的“空转“坑
  • Claude Code自动化执行参数配置与效能优化指南
  • 2026想做AI推广获客哪家公司服务好 十大婚纱摄影真实口碑榜照着选不踩坑 - 工业品网
  • PICAXE嵌入式编程进阶:从状态机设计到稳定烧录的实战指南
  • 等静压成型工艺对工业陶瓷结构件性能的影响分析
  • 深入解析C语言内存布局:字节序、比特序与位域实战指南
  • 3分钟免费解锁Wand完整功能:终极完整使用指南
  • 本地大语言模型部署指南:从硬件配置到LM Studio实战
  • Linux下vsftpd服务器安全搭建与实战配置指南
  • VMware虚拟机核心文件解析:从.vmdk到.vmx的运维指南
  • 零代码建站实践记录:用 AI 对话生成静态网站的全过程与技术分析
  • 2026海拉尔区短途周末出行包车游口碑推荐强势出炉,零套路不踩坑 - 工业品网
  • Spring Boot 3 + Vue 3 + TypeScript 全栈驾校预约系统实战指南
  • 环氧树脂灌胶机制造厂哪家专业 2026口碑推荐强势出炉,零套路不踩坑 - 工业品牌热点
  • 质量部门适合做什么样的六西格玛内训 - 众智商学院职业教育
  • WorkBuddy AI办公助手实测:零成本积分攻略与高效场景融合
  • Python实战:构建大型活动人流模拟与热力分析系统
  • 刷新率再度突破!KTC 大师电新品China Joy首秀
  • 跨团队WebAssembly代码共享工程化指南:从编译到发布的完整实践
  • Translumo完整使用指南:如何免费实现Windows屏幕实时翻译
  • [具身智能-185]:如何在 Windows 环境中搭建 ROS2 的环境
  • SQL注入实战:布尔、时间与报错盲注技术深度解析
  • 深度学习激活函数全解析:从ReLU到Swish的实战选择指南
  • 构建可信赖AI系统:从六大维度到工程实践