Windows 如何自动化cygwin和mintty

Windows 如何自动化cygwin和mintty,windows,batch-file,cygwin,mintty,Windows,Batch File,Cygwin,Mintty,我现在有这个在我的快捷方式下 C:\cygwin\bin\mintty.exe-i/cygwin-Terminal.ico- 运行之后,我必须输入 cdx:ENTER 然后我运行一个不改变的curl脚本 我试图通过运行以下命令使其自动化,但它似乎不起作用 我的SH文件 #!/bin/bash cd x: curl http://thedomain.com/update.json --connect-timeout 10000 --max-time 10000 --data-binary @js

我现在有这个在我的快捷方式下

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

运行之后,我必须输入

cdx:
ENTER

然后我运行一个不改变的
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

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

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

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


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

对于对此感兴趣的人。。这是解决办法

使用以下taret在windows中为Mintty创建快捷方式

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

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

一旦快捷方式起作用,您就可以执行windows任务计划程序并从那里获取它

Windows 7 Pro: 使用Windows task Scheduler创建一个基本任务,每天开始并完成所有步骤。创建任务后,转到“属性”,然后转到“触发器”选项卡并单击“编辑”


在“高级设置”框架下,您将在每个。。。。这一点不言自明。

但它似乎没有在我的shell文件中运行脚本。尝试了这两种方法,但仍然没有结果:(如果服务器收到JSON文件,无论是否有错误,我都会收到一封电子邮件。@nkman-Is
c:\cygwin\bin
test.sh的实际位置是
test.sh
?如果启动
mintty.exe
,并在该控制台内执行
/bin/test.sh
,脚本是否具有所需的效果?如果没有,是否有相关的产生错误?是的test.sh的实际位置是c:\cygwin\bin。我启动了Mintty和“exec/bin/test.sh”。没有错误,但之后窗口会自动关闭。如果在bash提示下,窗口会自动关闭,这很奇怪。修改
.sh
脚本并将
cd x:
更改为
cd/cygdrive/x
?如果没有帮助,请尝试在每个co>之后添加
sleep 5s
和某种
echo
M并查看您的主机在什么时候崩溃。我的消息太长。请查看关于我的问题的最新消息。
mintty.exe --exec '/cygdrive/c/cygwin/bin/test.sh'