如何自动化cygwin和mintty

时间:2013-04-10 18:53:10

标签: windows batch-file cygwin mintty

我目前在我的快捷方式下有这个

C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico -

之后运行我必须输入

cd x: 输入

然后我运行一个不会改变的curl脚本。

我尝试通过运行以下命令来自动化它,但它似乎无法正常工作

我的SH档

#!/bin/bash

cd x:
curl http://thedomain.com/update.json --connect-timeout 10000 --max-time 10000 --data-binary @jsonfilename -H 'Content-type:application/json;charset=utf-8;X-Vendor-Email=myemail@.com;'

这是我在CMD中运行的

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

cygwin弹出2秒钟然后消失。

请帮助

更新

新错误

$ /bin/test.sh
      0 [main] bash 12000 child_info_fork::abort: cygreadline7.dll: Loaded to different address: parent(0x3B0000) != child(0x320000)
/bin/test.sh: fork: retry: Resource temporarily unavailable
      0 [main] bash 12052 child_info_fork::abort: cygreadline7.dll: Loaded to different address: parent(0x3B0000) != child(0x2B0000)
/bin/test.sh: fork: retry: Resource temporarily unavailable
      0 [main] bash 9304 child_info_fork::abort: cygreadline7.dll: Loaded to different address: parent(0x3B0000) != child(0x3A0000)
/bin/test.sh: fork: retry: Resource temporarily unavailable
      0 [main] bash 9036 child_info_fork::abort: cygreadline7.dll: Loaded to different address: parent(0x3B0000) != child(0x3A0000)
/bin/test.sh: fork: retry: Resource temporarily unavailable
      0 [main] bash 9588 child_info_fork::abort: cygreadline7.dll: Loaded to different address: parent(0x3B0000) != child(0x3C0000)
/bin/test.sh: fork: Resource temporarily unavailable

3 个答案:

答案 0 :(得分:6)

对于谁对此感兴趣..这里是解决方案

使用以下taret在Mintty的Windows中创建快捷方式

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

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

一旦你有了快捷方式,你可以做一个Windows任务调度程序并从那里开始。

Windows 7 Pro: 使用Windows任务计划程序创建基本任务以启动DAILY并完成所有步骤。创建任务后,转到“属性”,然后转到“TRIGGERS”选项卡并单击“编辑”

在ADVANCED SETTINGS框架下,你将重复任务......从那里不言自明。

答案 1 :(得分:3)

您的命令告诉mintty启动并运行您的脚本,这是它继续执行的操作,然后退出。你称之为“popup”的是终端打开,运行你传递它的命令,然后退出,因为它完成了它的工作。

答案 2 :(得分:3)

mintty.exe是否使用文件系统根--exec或cygwin环境c:\评估/的参数?试试这个。

mintty.exe --exec '/bin/test.sh'

mintty.exe --exec '/cygdrive/c/cygwin/bin/test.sh'

此外,如果您还没有这样做,则应chmod 755 /bin/test.sh使其可执行。

相关问题