如何通过Windows批处理文件在Cygwin中运行ksh脚本[重复]

问题描述 投票:0回答:1

我目前正在使用 Cygwin 运行 kornshell 脚本,该脚本解析 /home/myname/files 目录中存在的文件。到目前为止我一直在手动执行此操作。

有没有办法自动运行它。本质上,我希望 Cygwing 执行以下操作。

  1. Cygwin 打开并导航到所需的目录。
  2. 执行ksh脚本。

到目前为止,我有以下批处理脚本,它打开了 Cygwin,

@echo off
C:
chdir C:\cygwin64\bin
setlocal enableextensions
set TERM= cd /d "%~dp0files" && .\bash --login -i

问题是双重的。上面的内容只会让我进入 /home/myname 目录。它不会继续到 /files 目录。另外,我将如何传递命令来运行 /files 目录中当前的 .ksh 脚本?

cygwin ksh
1个回答
0
投票

我使用以下 Windows 命令脚本在 cygwin 中运行 bash 脚本:

@ECHO off
set UNIXDISK=C:\cygwin64
SET MAKE_MODE=UNIX
set UNIX_PATH_ADD=%UNIXDISK%\bin;%UNIXDISK%\usr\local\bin;%UNIXDISK%\usr\X11R6\bin
set backup_path=%PATH%
rem include change to directory of script
cd %~p1
echo bash -c %~nx1 >junk1.cmd
set path=%UNIX_PATH_ADD%;%PATH%;.
call junk1.cmd
set PATH=%backup_path%
erase junk1.cmd

将“bash_run.cmd”之类的内容保存在路径中的目录中。它会更改到脚本的目录并在 bash 中运行它。我认为它应该与 ksh 一起使用。应使用完整路径指定脚本。

call bash_run.cmd <your script (full path)>
© www.soinside.com 2019 - 2024. All rights reserved.