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

网站建设与管理课程代码做徽章标牌的企业网站

网站建设与管理课程代码,做徽章标牌的企业网站,谷歌搜索入口365,php大型网站开发书籍【亲测有效】解决 “Batch script contains DOS line breaks (\r\n)” 报错 适用场景:在 Linux/Slurm 集群上 sbatch 提交脚本或运行 Shell 脚本时遇到 “DOS line breaks (\r\n) instead of UNIX line breaks (\n)” 的报错。 文章目录【亲测有效】解决 “Batch sc…

【亲测有效】解决 “Batch script contains DOS line breaks (\r\n)” 报错

适用场景:在 Linux/Slurm 集群上 sbatch 提交脚本或运行 Shell 脚本时遇到 “DOS line breaks (\r\n) instead of UNIX line breaks (\n)” 的报错。

文章目录

  • 【亲测有效】解决 “Batch script contains DOS line breaks (\r\n)” 报错
    • 一、问题重述
    • 二、根因分析:CRLF vs. LF
    • 三、解决方案大全
      • 方案 1:一条命令搞定 `dos2unix` ✅
      • 方案 2:`sed` & `tr` 手工去回车
      • 方案 3:Vim/Neovim 修改文件格式
      • 方案 4:VS Code 直接切换
      • 方案 5:Git 全局避免 CRLF(可选)
    • 四、如何自检脚本是否还有 `\r`?
    • 五、解决方法小结


一、问题重述

在 Windows 或 VS Code 下编辑完 run_python.sbatch,上传到集群后执行:

(环境名) [用户名@节点名 文件夹]$ sbatch run_python.sbatch
sbatch: error: Batch script contains DOS line breaks (\r\n)
sbatch: error: instead of expected UNIX line breaks (\n).

脚本明明写得没问题,却无法提交。究其原因,就是换行符不兼容。


二、根因分析:CRLF vs. LF

  1. Windows 系统(含部分编辑器)使用 CRLF (\r\n) 作为换行符;
  2. Linux/Unix 默认使用 LF (\n);
  3. sbatch 解析脚本时检测到意外的 \r 回车符,便拒绝执行。

三、解决方案大全

方案 1:一条命令搞定 dos2unix

# 安装好 dos2unix 的系统
dos2unix run_python.sbatch
sbatch run_python.sbatch   # 再次提交

若仅输出 “dos2unix: converting file run_python.sbatch to Unix format ...”,没有出现报错,即转换成功。


方案 2:sed & tr 手工去回车

集群没有 dos2unix 时,用内置命令即可:

# 备份原文件
cp run_python.sbatch run_python.sbatch.bak# 方法 A:sed
sed -i 's/\r$//' run_python.sbatch# 方法 B:tr
tr -d '\r' < run_python.sbatch > tmp && mv tmp run_python.sbatch

方案 3:Vim/Neovim 修改文件格式

vim run_python.sbatch
:set ff=unix   # fileformat=unix
:wq            # 保存退出

方案 4:VS Code 直接切换

  1. 右下角状态栏点击 “CRLF”;
  2. 选择 “LF”;
  3. Ctrl + S 保存;再次上传或 Git push。

方案 5:Git 全局避免 CRLF(可选)

# 仅对当前仓库
git config core.autocrlf false# 或全局
git config --global core.autocrlf input

这样以后在 Windows 提交到 Linux 也会保持 LF。


四、如何自检脚本是否还有 \r

grep -n $'\r' run_python.sbatch   # 有输出说明仍存在 \r

五、解决方法小结

  1. 统一开发环境:建议在 WSL、Docker、远程 Vim 等 Linux 环境直接写脚本。
  2. 版本控制钩子:在 Git 钩子或 CI 中加入 dos2unix 检查,防患于未然。
  3. 编辑器配置:VS Code、Sublime、Notepad++ 都可设置默认保存为 LF。

脚本因换行符差异导致的 sbatch 报错,是新手在 HPC 环境最常见的坑之一。在 Linux 系统中,LF 才是正确的换行符。

希望本文能帮你一次性解决这个小问题!

http://www.dtcms.com/a/490397.html

相关文章:

  • selenium实现自动化脚本的常用函数
  • 大语言模型,一个巨大的矩阵
  • 衡阳营养师报考网站大宗贸易交易平台
  • Azure API Management 负载均衡与故障转移策略完整指南
  • TI CCS软件安装
  • 内存映射文件
  • 网站开发开发语言企业网站做seo的优势
  • 资料片:R语言中常见的英文术语及其含义
  • 企业出海的挑战与应对方案
  • 架构术语:什么是东西流量和南北流量
  • 电子电器架构——车载网关转发buffer心得汇总
  • (Python)终端着色进阶:256色基础及色码效果展示
  • 《R for Data Science (2e)》免费中文翻译 (第10章) --- Exploratory data
  • 简述对网站进行评析的几个方面.wordpress 内涵
  • Python自动化从入门到实战(23):Python打地鼠游戏开发
  • (论文速读)ECLIPSE:突破性的轻量级文本到图像生成技术
  • dede 网站入侵新媒体h5是什么
  • 嵌入式系统守护者:复位IC详解与选型指南
  • 实战指南:用Cliproxy实现Reddit多账号安全运营的完整方案
  • Ovi-音视频生成模型
  • MySQL实战篇09:MySQL主从延迟压测-------每秒1000条写入,延迟1秒
  • 免费自助建站系统上海软件开发工资一般多少
  • 淘客网站做百度推广教育门户网站模板
  • 微信社群管理开发
  • 可再生能源电解水制氢电源并联方案研究
  • AI产业技术突破、生态重构与场景深耕
  • Redis基础指令全解析:从入门到精通
  • 将word和excel快速转换为markdown格式
  • 如何删除不用的虚拟环境
  • Oracle 19C IMPDP性能飞升秘籍:深度解析ACCESS_METHOD与TRANSFORM参数调优