这是我在 Windows 上运行的脚本。该脚本连接到 Linux 并执行许多命令,例如:
- 停止服务器
- 解压新的
- 开始新的
plink -batch [email protected] -P 22 -l root -pw mypassword /bin/bash /opt/server/stop.sh
plink -batch [email protected] -P 22 -l root -pw mypassword rm -R /opt/server/ --force
plink -batch [email protected] -P 22 -l root -pw mypassword unzip /opt/server.zip -d /opt/
plink -batch [email protected] -P 22 -l root -pw mypassword /bin/bash /opt/server/start.sh
如何在一个中发送命令plink
?
就像是:
plink -batch [email protected] -P 22 -l root -pw mypassword /bin/bash /opt/server/stop.sh
& rm -R /opt/server/ --force
& unzip /opt/server.zip -d /opt/
& /bin/bash /opt/server/start.sh
答案1
我强烈地建议不要使用在命令行上获取密码的客户端。如果您不想输入密码,请创建密钥对并使用它来登录。
但这应该在其他地方讨论,让我们坚持你的问题。您有 2 个选择:
plink -batch [email protected] -P 22 -l root -pw mypassword sh -c "/opt/server/stop.sh && rm -R /opt/server/ --force && unzip /opt/server.zip -d /opt/ && /opt/server/start.sh"
- 创建一个脚本
myscript.sh
来执行您想要执行和使用的操作plink -batch [email protected] -P 22 -l root -pw mypassword myscript.sh
请注意,我使用的&&
是而不是&
到处。区别:
something &
作为后台进程运行something
(可能不是您想要做的。something && nextthing
运行something
并且仅在返回码为 0nextthing
时运行(这通常意味着与完成且没有大问题something
相同)something