14

我写了一个简单的 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'
4

4 回答 4

11

对于对此感兴趣的人......这是解决方案

mintty在 windows 中为以下目标创建快捷方式

假设您的 shell 文件位于 c:\cygwin\bin

C:\cygwin\bin\mintty.exe /bin/bash -l -e '/cygdrive/c/cygwin/bin/test.sh'
于 2013-04-12T20:32:13.577 回答
2

尝试直接运行 bash.exe(或使用 cygwin 安装的其他 shell)。

在 Windows shell 中,将目录更改为您的 cygwin 安装并运行:

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

通过双击快捷方式来运行 shell 脚本

1) 将命令放入 .bat 文件中

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

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

2) 使用 test.bat 作为目标创建一个快捷方式。

我尝试使用 bash.exe 和命令作为目标创建快捷方式。由于某种原因会出错。但是,将命令包装在 .bat 文件中是可行的。去搞清楚。

于 2014-01-09T13:37:10.787 回答
2

我也使用 nkman 提供的解决方案,但我添加了“-h always”选项,以便控制台保持打开状态,直到我按 Enter 键,看看发生了什么。所以这是我的快捷方式的目标:

C:\cygwin\bin\mintty.exe -h always /bin/bash -l -e '/cygdrive/c/cygwin/home/Administrator/startup.sh'
于 2015-08-20T08:17:08.913 回答
0

我认为的最佳解决方案:

调用正确的 shell,没有不必要的窗口,然后调用一个 bash 脚本,该脚本将被保留。

  • mintty.exe例如,在桌面上创建快捷方式

  • 编辑快捷方式的属性并更改目标(保留路径):

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

于 2017-04-09T18:48:36.187 回答