我正在尝试使用NPPExec重构如何在Notepad ++中的Windows机器上执行bash shell .sh
文件。 (我以前成功完成了这项工作,但我的硬盘崩溃了,我不记得以前是怎么做过的。)
当它以前工作时,我会运行调用.sh
文件的NPPExec脚本,它向我展示了Notepad ++中.sh文件处理的控制台输出,好像它是在cygwin中处理一样。
这是我试图开始工作的示例.sh文件:
message="Testing"
echo $message
此文件位于C:。
的根目录中尝试失败:
以下三种方法都不起作用:
C:\nppexec.sh
响应:
CreateProcess() failed with error code 193:
%1 is not a valid Win32 application.
npp_exec C:\nppexec.sh
响应:
message="Testing"
CreateProcess() failed with error code 2:
The system cannot find the file specified.
$message
将#! /bin/bash
添加到.sh文件中作为第一行只会在运行npp_exec时导致其他错误:
NPP_EXEC: C:\nppexec.sh
#! /bin/bash
CreateProcess() failed with error code 2:
The system cannot find the file specified.
答案 0 :(得分:3)
解决方案是直接调用bash:
C:\cygwin\bin\bash --login -c "command.sh"
答案 1 :(得分:3)
尝试在Windows上执行批处理文件时遇到同样的错误。
我通过在记事本++的控制台中执行第一个命令cmd解决了这个问题,然后是E:\ test.bat
我的Windows PC上也安装了mksnt。
首先从记事本++的控制台中启动bash,测试shell现在运行良好
bash
C:\nppexec.sh
答案 2 :(得分:1)
使用此运行命令
C:\cygwin64\bin\bash.exe -l -c "cd \"$0\" ; echo $@; \"./$1\"; exec bash;" "$(CURRENT_DIRECTORY)" "$(FILE_NAME)"
您可以从“运行”对话框中保存此命令以供以后使用。
答案 3 :(得分:1)
使用单击键,我想在记事本中使用Cygwin执行活动标签的shell脚本。
经过几个小时的在线观察和实验,我终于找到了
粘贴以下代码:
//save the file
NPP_SAVE
//redirect console output to $(OUTPUT) & silent mode
npe_console v+ --
//convert winpath to cygpath
D:\cygwin64\bin\bash -lc "cygpath \"$(FULL_CURRENT_PATH)\"
//execute the file
D:\cygwin64\bin\bash -lc "$(OUTPUT)"
希望能节省一些时间