使用 ssh 在远程服务器上运行本地脚本而不必担心引号

Mic*_*ael 4 ssh bash

所以我一直在远程服务器上运行本地脚本:

ssh user@server "`cat local-script.sh`"
Run Code Online (Sandbox Code Playgroud)

但是,今天我有一个包含单引号和双引号的脚本。这会导致脚本失败,因为 的输出cat local-script.sh用引号括起来。如果不修改脚本本身,有没有更好的方法来处理这个问题?

我认为这可能有效:

ssh user@server $(<local-script.sh)
Run Code Online (Sandbox Code Playgroud)

但似乎并没有做任何事情......

joh*_*n64 8

cat local-script.sh | ssh user@server bash
Run Code Online (Sandbox Code Playgroud)

或您想使用的任何外壳而不是 bash