2

.sh 脚本经过测试并在 cygwin 中运行,但现在我希望 Windows 每小时自动运行一次。

该文件具有可执行权限,现在我在 cygwin 终端中像这样运行它:

cd c:/users/me/documents/myfile.sh
./myfile.sh

我该怎么做?

谢谢!

4

2 回答 2

1

或者通过批处理执行 bash

执行:

     call "batch_from_below.bat  "c:\user\me\documents\myfile.sh" "parameter 1, if need" "parameter 2 ..."

批:

     @echo off
     set _CYGBIN=change-this-to-your-path-cygwin\bin

     if not exist "%_CYGBIN%" echo Couldn't find Cygwin at "%_CYGBIN%"

     REM ------------------------------------------------------------------------
     REM SCRIPT
     REM ------------------------------------------------------------------------
     set x=%1
     set x=%x:\=\\%
     set _CYGPATH_SCRIPT=%_CYGBIN%\cygpath.exe %1
     FOR /f "delims=" %%A in ('%_CYGBIN%\cygpath.exe "%x%"') do set _SCRIPT=%%A

     REM ------------------------------------------------------------------------
     REM PATH
     REM ------------------------------------------------------------------------
     set _SCRIPT_PATH=%~dp1
     FOR /f "delims=" %%A in ('%_CYGBIN%\cygpath.exe "%_SCRIPT_PATH%"') do set          _PATH_TO_SCRIPT=%%A

     REM ------------------------------------------------------------------------
     REM EXECUTE
     REM ------------------------------------------------------------------------
     %_CYGBIN%\bash.exe --login -c 'cd %_PATH_TO_SCRIPT%;%_SCRIPT% %2 %3 %4 %5 %6 %7 %8 %9'
于 2013-03-08T08:43:13.163 回答
0

您需要修改系统环境变量PATHEXT使其也包含.SH;作为一个已知的程序文件扩展名,然后将 Bash shell 文件与Windows 中的.SH相关联(谷歌将是我更好的朋友:)。

于 2013-03-05T22:40:08.923 回答