我试图通过CMD使用Cygwin自动运行脚本。我基本上创建了一个BAT文件,该文件进入目录并执行.SH文件。 SH文件与Cygwin一致,我在命令行中尝试了类似“cygwin update.sh”的内容。但它真正做的就是开放Cygwin。我希望Cygwin自动运行脚本文件。有没有简单的方法来做到这一点,我一直试图找到但不能。谢谢!
答案 0 :(得分:1)
您需要使用特定的shell调用shell脚本,例如bash中。
当Cygwin打开时,请调用which bash
以确定二进制文件的位置。 Cygwin还提供了可以在Cygwin和Win32格式之间转换路径的工具,这在像你这样的情况下非常有用。
根据您的设置,还有另外一项可能有效的方法。有一个名为PATHEXT
的环境变量,它声明了被CMD视为“可执行”的文件扩展名。如果配置Windows以便shell的“open”动词为文件扩展名.sh
执行正确的shell(在您的情况下),则可以使用此优势。
答案 1 :(得分:1)
我也发现了这个!
起初我并不是很了解它,但之后它就像我想要的那样起作用。如果有人知道,有没有办法让脚本在没有CMD窗口打开的情况下运行?谢谢
答案 2 :(得分:1)
从Cygwin Terminal,阅读man mintty
。从Windows命令提示符尝试以下内容:
c:\cygwin\bin\mintty --hold always --exec /cygdrive/c/path/to/bash/script.sh