3

.shNPPExec を使用して Notepad++ 内から Windows マシンでbash シェル ファイルを実行する方法を再構築しようとしています。(以前にこれを成功させたことはありますが、HDD がクラッシュし、以前の方法を思い出せません。)

以前は動作していたとき、.shファイルを呼び出す NPPExec スクリプトを実行すると、メモ帳 ++ で処理されている .sh ファイルのコンソール出力が、あたかも cygwin で処理されているかのように表示されました。

これは、私が作業しようとしている .sh ファイルの例です。

message="Testing"
echo $message

このファイルは C: のルートにあります。

失敗した試行:

次の 3 つの方法はどれも機能しません。

  • 実行する: 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
  • 最初の行として .sh ファイルに追加#! /bin/bashすると、npp_exec の実行時に追加のエラーが発生するだけです。

    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でバッチファイルを実行しようとすると、同じエラーが発生します。

notepad ++のコンソールで最初にコマンドcmdを実行し、次にE:\test.batを実行して問題を解決しました

ウィンドウPCにもmksntがインストールされています。

最初に notepad++ のコンソールで bash を起動すると、テスト シェルが正常に動作するようになりました

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

この実行コマンドを使用します

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 に答える