web-dev-qa-db-ja.com

Minttyを起動してスクリプトファイルを実行するにはどうすればよいですか?

簡単なCURLを作成し、スクリプトファイルに入れました。

最初にminttyを実行し、次に「test.sh」を実行すると、ファイル内のスクリプトが正常に実行されます。完璧に動作します。

ただし、次のコマンドラインのいずれかを使用してminttyを実行しようとすると、実行されません。私はこれらをCMDで実行しています

C:\>c:\cygwin\bin\mintty.exe --exec '/cygdrive/c/cygwin/bin/test.sh'

C:\>c:\cygwin\bin\mintty.exe --exec '/bin/test.sh'

C:\>c:\cygwin\bin\mintty.exe --exec '/test.sh'

C:\>c:\cygwin\bin\mintty.exe --exec 'test.sh'

C:\>c:\cygwin\bin\mintty.exe --exec 'c:/test.sh'

C:\>c:\cygwin\bin\mintty.exe --exec 'c:\test.sh'
13
nkman

これに興味がある人のために...ここに解決策があります

次のターゲットを使用して、Windowsでminttyのショートカットを作成します

シェルファイルがc:\ cygwin\binにあると仮定します

C:\cygwin\bin\mintty.exe /bin/bash -l -e '/cygdrive/c/cygwin/bin/test.sh'
9
nkman

Bash.exe(またはcygwinとともにインストールされた他のシェル)を直接実行してみてください。

Windowsシェルから、ディレクトリをcygwinインストールに変更し、次のコマンドを実行します。

C:\cygwin\bin>bash.exe /cygdrive/c/cygwin/bin/test.sh

ショートカットをダブルクリックしてシェルスクリプトを実行するには

1)コマンドを.batファイルに入れます

test.bat
---------------------------------------------------------------------
c:\cygwin\bin\bash.exe /cygdrive/c/cygwin/bin/test.sh

---------------------------------------------------------------------

2)test.batをターゲットとして使用してショートカットを作成します。

Bash.exeとコマンドをターゲットにしてショートカットを作ってみました。それは何らかの理由でエラーになります。ただし、コマンドを.batファイルでラップすることはできます。図に行きます。

3
jurassicpinbot

Nkmanが提供するソリューションも使用しますが、「-h always」オプションを追加して、Enterキーを押すまでコンソールを開いたままにして、何が起こったかを確認します。だからこれは私のショートカットのターゲットです:

C:\cygwin\bin\mintty.exe -h always /bin/bash -l -e '/cygdrive/c/cygwin/home/Administrator/startup.sh'
1
shmocs

私の意見では最良の解決策:

適切なシェルを呼び出し、不要なウィンドウはなく、後で保持されるbashスクリプトを呼び出します。

  • ショートカットを作成 to mintty.exeたとえば、デスクトップ上

  • プロパティの編集ショートカットの==ターゲットを変更します(パスを保持します):

  • C:\Program Files\Git\usr\bin\mintty.exe" -h always /bin/bash -l -e 'D:\folder\script.sh'