3

我正在尝试.sh使用 NPPExec 从 Notepad++ 中重建如何在我的 Windows 机器上执行 bash shell 文件。(我以前成功地做到过,但是我的硬盘崩溃了,我不记得我以前是怎么做到的。)

当它之前工作时,我会运行调用.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
  • 在运行 npp_exec 时,将 .sh 文件作为第一行添加#! /bin/bash会导致额外的错误:

    NPP_EXEC: C:\nppexec.sh
    #! /bin/bash
    CreateProcess() failed with error code 2:
    The system cannot find the file specified.
    
4

4 回答 4

3

尝试在 Windows 上执行批处理文件时出现同样的错误。

我通过在记事本++的控制台中执行第一个命令 cmd 解决了这个问题,然后是 E:\test.bat

我的window pc上也安装了一个mksnt。

首先在notepad++的控制台中启动bash,测试shell现在运行良好

bash
C:\nppexec.sh
于 2012-10-08T15:43:14.430 回答
3

解决方案是直接调用 bash:

C:\cygwin\bin\bash --login -c "command.sh"
于 2012-06-28T16:32:20.067 回答
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)"

希望为某些人节省一些时间

于 2018-01-25T17:11:26.127 回答
1

使用此运行命令

C:\cygwin64\bin\bash.exe -l -c "cd \"$0\" ; echo $@; \"./$1\"; exec bash;" "$(CURRENT_DIRECTORY)" "$(FILE_NAME)"

您可以从运行对话框中保存此命令以供以后使用。

对于 git bash,更改路径如下:

C:\Progra~1\Git\bin\bash -l -c "cd \"$0\" ; echo $@; \"./$1\"; exec bash;" "$(CURRENT_DIRECTORY)" "$(FILE_NAME)"

于 2016-10-13T07:30:05.683 回答