使用NppExec(和Cygwin)在Notepad ++中从内部运行bash shell脚本

时间:2012-06-27 20:23:36

标签: bash shell cygwin notepad++ nppexec

我正在尝试使用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.
    

4 个答案:

答案 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脚本。

经过几个小时的在线观察和实验,我终于找到了

  1. 安装NppExec插件
  2. 点击F6
  3. 粘贴以下代码:

    //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)"

  4. 希望能节省一些时间