我试图通过 ssh 1-liner 调用在远程机器上运行几个命令,方法是将它们指定为传递给“bash -c”的以分号分隔的字符串。它适用于某些情况,但不适用于其他情况。看一下这个:
# Note: the "echo 1" output is lost:
bash-3.2$ ssh sandbox bash -c "echo 1; echo 2; echo 3"
2
3
# Note: first echo is ignored again
bash-3.2$ ssh sandbox bash -c "echo 0; echo 1; echo 2; echo 3"
1
2
3
# But when we run other commands (for example "date") then nothing is lost
bash-3.2$ ssh sandbox bash -c "date; date;"
Wed Nov 7 20:27:55 UTC 3018
Wed Nov 7 20:27:55 …Run Code Online (Sandbox Code Playgroud)