我正在尝试在 Windows 上运行一个简单的 bat 文件,该文件将在远程 Linux 机器上运行 bash 脚本。bash 脚本位于 Linux 机器上。
例如:我尝试在 Windows 上的批处理文件中运行此命令:
plink.exe -pw <password> root@<ip> bash -c "/root/script.sh"
结果:
- 从 Windows 运行时 cmd 永远卡住
- 当从 Linux 机器运行特定脚本(
/root/script.sh
)时,它运行良好。 - 该脚本包含 ruby 代码,我正在使用 RVM
答案1
如果运行以下命令,您会看到什么?这将逐步执行脚本。
plink.exe -pw <password> root@<ip> bash -x "/root/script.sh"
另外,请注意远程运行时设置的环境是不同的。您必须确保所有内容都已正确设置,例如 PATH。因此,您的脚本必须说 /usr/bin/ruby 而不是 ruby,或者在 PATH 中添加 /usr/bin 等。
或者获取一个可以设置它们的文件。