通过 plink 将命令从 MS-windows 发送到 linux

通过 plink 将命令从 MS-windows 发送到 linux

这是我在 Windows 上运行的脚本。该脚本连接到 Linux 并执行许多命令,例如:

  1. 停止服务器
  2. 解压新的
  3. 开始新的
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 个选择:

  1. 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"
  2. 创建一个脚本myscript.sh来执行您想要执行和使用的操作plink -batch [email protected] -P 22 -l root -pw mypassword myscript.sh

请注意,我使用的&&是而不是&到处。区别:

  • something &作为后台进程运行something(可能不是您想要做的。
  • something && nextthing运行something并且仅在返回码为 0nextthing时运行(这通常意味着与完成且没有大问题something相同)something

相关内容