Notepad++无法直接运行Shell脚本,需通过NppExec调用Git Bash/WSL本地执行,或配合WinSCP上传后SSH远程执行;注意LF换行、执行权限及Shebang格式。

Notepad++ 本身不能直接运行 Shell 脚本
Notepad++ 是 Windows 上的文本编辑器,没有内置 Shell 解释器,也不具备 SSH 客户端能力。所谓“在 Notepad++ 中运行 Shell 脚本”,实际是通过插件或外部工具间接调用本地 bash(如 Git Bash、WSL)或远程 Linux 主机执行。直接双击运行 .sh 文件会失败,常见错误是:'sh' is not recognized as an internal or external command。
用 NppExec 插件调用本地 bash(Git Bash / WSL)
这是最轻量的本地执行方式,适合调试脚本逻辑,不涉及网络连接。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 安装
NppExec:Plugins → Plugins Admin → 搜索并安装 - 配置命令(Plugins → NppExec → Execute):
cd "$(CURRENT_DIRECTORY)" "C:\Program Files\Git\bin\bash.exe" --noprofile --norc -i "$(FULL_CURRENT_PATH)"
(路径按你安装的 Git Bash 实际位置调整;WSL 可用wsl -e bash -c "source $(FULL_CURRENT_PATH)") - 保存为脚本(如
run_bash),绑定快捷键(F6 → Save → Assign to shortcut) - 注意:
--noprofile --norc避免加载用户环境导致行为不一致;-i保持交互式,便于看到输出
用 NppFTP 或 WinSCP 配合外部终端执行远程命令
Notepad++ 没有原生 SSH 功能,NppFTP 插件仅支持文件上传/下载,**不能执行远程命令**。真正可行的是“编辑 + 上传 + 手动登录执行”或“编辑 + 自动上传 + 自动 SSH 执行”组合。
-
NppFTP可同步文件到 Linux,但执行仍需切到终端手动ssh user@host 'bash /path/to/script.sh' - 更连贯的做法:用
WinSCP设置“编辑器关联”,双击服务器上脚本时自动用 Notepad++ 打开;保存后勾选“Keep remote file up to date”可自动上传 - 若需保存即执行,可用 WinSCP 的
call命令配合shell:在传输后执行ssh user@host 'chmod +x /path/script.sh && /path/script.sh',但这需提前配置免密 SSH
容易被忽略的权限和换行符问题
即使命令能发出去,脚本也常因两个底层细节失败:
- Linux 下脚本必须有执行权限:
chmod +x script.sh,否则bash script.sh可能成功,但./script.sh报Permission denied - Windows 编辑器默认保存为 CRLF(
\r\n),Linux 的sh会把\r当作命令一部分,报错类似:/bin/bash^M: bad interpreter: No such file or directory。解决方法:Notepad++ 中菜单栏 → Edit → EOL Conversion → Unix (LF) - Shebang 行必须顶格、无空格、路径准确,例如
#!/bin/bash比#!/usr/bin/env bash更稳妥(避免env不在$PATH中)

















