使用 Notepad++ 解决换行符问题(Windows → Linux)

✅ 使用 Notepad++ 解决换行符问题(Windows → Linux)

📌 问题背景:

  • Windows 中默认使用 \r\n(CR+LF)作为换行符。
  • Linux 使用的是 \n(LF)。
  • 如果你用 Windows 编辑器写了一个 .sh 文件并上传到 Ubuntu ECS,运行时可能会报错:
-bash: ./script.sh: /bin/bash^M: bad interpreter: No such file or directory

📌 解决方法:
使用 Notepad++ 的“转换为 Unix 格式”功能,将换行符统一为 Linux 所需格式。


📌 操作步骤:

步骤一:打开你的 .sh 文件

启动 Notepad++,打开你在 Windows 下编写的 Shell 脚本文件(如 script.sh)。


步骤二:查看当前换行符格式

在右下角状态栏可以看到类似以下信息:

显示内容 含义
Windows (CR LF) Windows 换行符
Unix (LF) Linux 换行符
Macintosh (CR) Mac OS 9 及以前版本

步骤三:转换换行符格式

点击菜单栏:

Edit(编辑) → EOL Conversion(换行符转换) → Unix (LF)

✅ 这样就将所有换行符从 \r\n 改为了 \n,适用于 Linux 系统。


步骤四:保存文件

Ctrl + S 或点击菜单中的 File → Save,保存为原文件名即可。


步骤五:上传并执行脚本

你可以使用 WinSCP、FileZilla 或 scp 命令将文件上传到阿里云 Ubuntu ECS,然后赋予执行权限并运行:

chmod +x script.sh
./script.sh

此时不会再出现因换行符导致的解析错误啦!🚀


🧰 小贴士:如何避免此类问题?

方法 描述
使用 VSCode 设置自动换行符转换 在设置中搜索 Files: Eol,设为 \n
使用 WSL 或 Git Bash 编写脚本 直接生成 Linux 兼容格式
使用 dos2unix 工具批量处理 安装后可一键转换多个脚本文件
在 Notepad++ 中设置默认换行符 设置 → 首选项 → 新建 → 设置为 Unix 格式

🧩 示例对比(Windows vs Linux 换行符)

内容 Windows 格式(Notepad++ 默认) Linux 格式(转换后)
输出显示 CR LF (\r\n) LF (\n)
Notepad++ 状态栏显示 Windows (CR LF) Unix (LF)
是否能在 Linux 上直接运行 ❌ 会报错 ✅ 可正常运行

🎯 总结一句话:

“Notepad++ 不仅是一个轻量级编辑器,更是你从 Windows 写 Shell 脚本到 Linux 服务器部署的好帮手🛠️ —— 一个小小的换行符转换操作,就能让你远离脚本执行失败的烦恼!”

如果你正在使用 Windows 开发 Shell 脚本,强烈建议你把 Notepad++ 加入你的开发工具箱 👨‍💻!

是否需要我继续输出下一章?比如:

  • 《Shell 变量与表达式》🧮
  • 《条件判断与流程控制》⚙️
  • 《函数与模块化编程》📦

告诉我你想学什么吧!🚀

posted @ 2025-06-17 22:06  红尘过客2022  阅读(502)  评论(0)    收藏  举报