从 ssh 登录运行 Windows 批处理文件 - 缺少环境变量

从 ssh 登录运行 Windows 批处理文件 - 缺少环境变量

我正在尝试从 ssh 登录运行 Windows 批处理文件。我已在服务器 (Windows 2003) 上成功安装了带有 OpenSSH 的 cygwin。

我可以登录并运行该文件,但该文件无法正常运行,因为它依赖于环境变量。我发现出于安全原因,并非所有环境变量都添加到 ssh shell 中。我添加了所需的环境变量(在 ~/.profile 中),但文件仍然出错。
我修改了该文件并让其输出之前导致问题的环境变量,但我发现它仍然没有设置。因此,即使我添加了环境变量,并且它存在于 shell 中,但它在运行批处理文件的 shell 中不可用。

如何将环境变量添加到批处理文件的 shell 中?
永久修改文件不是一种选择;它是由另一个程序创建的,我正在尝试编写一个 git hook,以便在“git push”之后在另一台机器上运行该文件

答案1

您可以编写一个小的 shell 脚本来设置环境变量,然后运行批处理文件。例如:

#!/bin/bash
export VAR1="value of VAR1"
export VAR2="value of VAR2"
./script.bat

此示例假设位于script.bat当前工作目录中并且您对其具有执行权限。

相关内容