How do i start Mintty and run a script file?

家住魔仙堡 提交于 2019-12-18 12:59:12

问题


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'



来源:https://stackoverflow.com/questions/15977038/how-do-i-start-mintty-and-run-a-script-file

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!