ssh是一个良好的 Unix 公民;我们可以通过管道传递它,我们可以以任何可以想象的方式重定向它的输出和输入。
ssh user@host sh < your_script.sh
Run Code Online (Sandbox Code Playgroud)
此命令是重定向:您的 shell 将打开(本地!)文件your_script.sh并将其作为ssh命令的输入提供。ssh,反过来,将其标准输入隧道到远程命令,即sh实例。 sh没有参数从标准输入读取它的脚本。严格来说,这sh部分甚至不是必需的——ssh默认运行 shell——但它使解释更容易。
所以我们得到了一个sh实例,它在远程主机上启动,但从您的本地文件中读取命令。瞧!