How do i start Mintty and run a script file?

2020-02-26 06:41发布

问题:

I wrote a simple CURL and put it in a script file.

if i run mintty first and then "test.sh" it runs the script in the file just fine. Works perfectly.

however, if i try to run mintty with any of the following command line, it will not run. I'm running these in 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'

回答1:

For whoever is interested in this... here is the solution

Create a shortcut in windows for mintty with the following target

Assuming your shell file is located in c:\cygwin\bin

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


回答2:

Try running bash.exe directly (or some other shell that installed with cygwin).

From a windows shell, change directory to your cygwin install and run this:

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

To get the shell script to run by double clicking a shortcut

1) Put the command in a .bat file

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

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

2) Create a shortcut using test.bat as the target.

I tried making a shortcut with bash.exe and the command as a target. That errors out for some reason. However, wrapping the command in a .bat file works. Go figure.



回答3:

I also use the solution offered by nkman, but I add the '-h always' option so that the console remains opened until I hit enter, to see what happened. So this is the target of my shortcut:

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


回答4:

Best solution in my opinion:

Invokes the right shell, no unnecessary windows and invokes a bash script afterwards which will be hold.

  • Create a Shortcut to mintty.exe on your desktop, for example

  • Edit properties of the shortcut and change the target (keep the path):

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



标签: curl cmd mintty