我写了一个简单的CURL并把它放在一个脚本文件中。
如果我先运行mintty,然后运行"test.sh",它会很好地运行文件中的脚本。完美的工作。
但是,如果我尝试使用以下任何命令行运行mintty,它将无法运行。我在CMD
下运行这些C:>c:cygwinbinmintty.exe --exec '/cygdrive/c/cygwin/bin/test.sh'
C:>c:cygwinbinmintty.exe --exec '/bin/test.sh'
C:>c:cygwinbinmintty.exe --exec '/test.sh'
C:>c:cygwinbinmintty.exe --exec 'test.sh'
C:>c:cygwinbinmintty.exe --exec 'c:/test.sh'
C:>c:cygwinbinmintty.exe --exec 'c:test.sh'
对于对此感兴趣的人…以下是解决方案
在windows中为mintty
创建一个快捷方式,目标如下
假设您的shell文件位于c:cygwinbin
C:cygwinbinmintty.exe /bin/bash -l -e '/cygdrive/c/cygwin/bin/test.sh'
尝试直接运行bash.exe(或与cygwin一起安装的其他shell)。
在windows shell中,将目录更改为cygwin安装目录并运行以下命令:
C:cygwinbin>bash.exe /cygdrive/c/cygwin/bin/test.sh
通过双击快捷方式
来运行shell脚本1)将命令放入.bat文件
test.bat
---------------------------------------------------------------------
c:cygwinbinbash.exe /cygdrive/c/cygwin/bin/test.sh
---------------------------------------------------------------------
2)使用test.bat作为目标创建一个快捷方式。
我试着用bash.exe和命令作为目标创建快捷方式。由于某种原因,它出错了。但是,将命令包装在.bat文件中是可行的。图。
我也使用nkman提供的解决方案,但我添加了'-h always'选项,以便控制台保持打开状态,直到我按enter键,以查看发生了什么。这就是我的快捷方式的目标:
C:cygwinbinmintty.exe -h always /bin/bash -l -e '/cygdrive/c/cygwin/home/Administrator/startup.sh'
我认为最好的解决方案:
调用正确的shell,没有不必要的窗口,然后调用bash脚本,该脚本将被保留。
-
在桌面上创建快捷方式到
mintty.exe
,例如 -
编辑快捷方式属性并更改目标(保持路径不变):
-
C:Program FilesGitusrbinmintty.exe" -h always /bin/bash -l -e 'D:folderscript.sh'