Cygwin自动脚本启动

时间:2011-02-23 22:26:57

标签: windows shell cygwin cmd

我试图通过CMD使用Cygwin自动运行脚本。我基本上创建了一个BAT文件,该文件进入目录并执行.SH文件。 SH文件与Cygwin一致,我在命令行中尝试了类似“cygwin update.sh”的内容。但它真正做的就是开放Cygwin。我希望Cygwin自动运行脚本文件。有没有简单的方法来做到这一点,我一直试图找到但不能。谢谢!

3 个答案:

答案 0 :(得分:1)

您需要使用特定的shell调用shell脚本,例如bash中。

当Cygwin打开时,请调用which bash以确定二进制文件的位置。 Cygwin还提供了可以在Cygwin和Win32格式之间转换路径的工具,这在像你这样的情况下非常有用。

根据您的设置,还有另外一项可能有效的方法。有一个名为PATHEXT的环境变量,它声明了被CMD视为“可执行”的文件扩展名。如果配置Windows以便shell的“open”动词为文件扩展名.sh执行正确的shell(在您的情况下),则可以使用此优势。

祝你好运。

答案 1 :(得分:1)

我也发现了这个!

http://rothmanshore.com/2011/01/26/kick-off-a-cygwin-script-from-a-windows-bat-file-with-a-different-working-directory/

起初我并不是很了解它,但之后它就像我想要的那样起作用。如果有人知道,有没有办法让脚本在没有CMD窗口打开的情况下运行?谢谢

答案 2 :(得分:1)

从Cygwin Terminal,阅读man mintty。从Windows命令提示符尝试以下内容:

c:\cygwin\bin\mintty --hold always --exec /cygdrive/c/path/to/bash/script.sh