如何通过SSH在远程服务器上运行本地shell脚本?

Pri*_*nka 19 ssh command-line

我想使用 SSH 在远程计算机上运行本地 shell 脚本。我怎样才能做到这一点?

pho*_*bos 24

ssh user@remotehost "bash -s" < local_script.sh
Run Code Online (Sandbox Code Playgroud)

-s 使 bash 从标准输入读取。

如果您需要将参数传递给脚本:

ssh user@remotehost "bash -s" -- < local_script.sh "your_arg" "--aswitch" "avalue"
Run Code Online (Sandbox Code Playgroud)

注意双破折号--(表示命令选项的结束)和参数周围的引号。

  • 你不需要`-s`,如果你真的想强制使用`bash`,你只需要`bash`。通常你可以简单地`ssh user@remotehost &lt; local_script.sh` (5认同)

小智 5

phoibos 的答案对我有用。

ssh user@remotehost "bash -s" < local_script.sh
Run Code Online (Sandbox Code Playgroud)

但是您必须确保您的脚本显式调用 exit 否则您将在脚本执行后保持登录到远程服务器。

简而言之,不要忘记把它放在最后local_script.sh

exit 0
Run Code Online (Sandbox Code Playgroud)