使用 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 变量与表达式》🧮
- 《条件判断与流程控制》⚙️
- 《函数与模块化编程》📦
告诉我你想学什么吧!🚀

浙公网安备 33010602011771号