在Windows启动时自动启动Cygwin并运行一个cygwin命令

有时我的Windows服务器在晚上重新启动以安装新的更新。 然后第二天,我发现我的cygwin实例已经停止。

我想要的是在Windows启动,也运行Cygwin并运行一个特定的命令。

所以,第1步:现在我有一个cygwin.bat来启动cygwin:

@echo off C: chdir C:\cygwin\bin bash --login -i 

步骤2是在运行cygwin.bat后出现的命令窗口中input命令:

 cd /cygdrive/e/solr/apache-solr-4.0-2010-10-12_08-05-48/example/;java -Dsolr.solr.home="./example-DIH/solr/" -jar start.jar 

但是当我运行cygwin.bat时,这个命令是我想自动调用的

如何将步骤1和步骤2合并到一个可以在Windows上运行的bat文件中?

您可以创build一个在启动时运行的新.bat文件,并在启动时使用bash -c选项将命令传递给bash。 例如:

 @echo off C: chdir C:\cygwin\bin bash -c "echo 'it works'; read -n 1 -p 'Press any key to continue...' " 

您也可以对cygwin.bat进行更改,但每次启动shell时都会运行这些命令。

我尝试尽可能保持我的Windows体验。 我要做的第一件事就是安装cron并使用@REBOOT在启动时运行脚本。

我在这里find了一个安装cron的好书籍: https : //stackoverflow.com/a/7900158/1607020

然后,在/etc/cron.d/myservicename中创build一个文件

 @REBOOT /path/to/bash/script > /tmp/myservicename.log 2>&1 

我现在有这个:

 @echo off C: chdir C:\cygwin\bin bash -c cd /cygdrive/e/solr/apache-solr-4.0-2010-10-12_08-05-48/example/;java -Dsolr.solr.home="./example-DIH/solr/" -jar start.jar bash -c "echo 'it works'; read -n 1 -p 'Press any key to continue...' " 

但是,似乎没有启动cygwin我想要的命令…