我想要一个功能来 ssh 到服务器,然后运行命令列表

我想要一个功能来 ssh 到服务器,然后运行命令列表

我想做的是:

f(){
 ssh myserver &&
 ls &&
 echo 'it works!'
}

但是,当我运行这个函数时。仅执行 ssh。

答案1

将命令列表直接放在 ssh myserver

ssh myserver 'ls && echo it works'

答案2

要通过 ssh 使用函数或复杂脚本,将脚本复制到主机比尝试将其作为一个 ssh 命令执行更容易,因为处理所有转义是很棘手的。

scp myscipt.sh host:
ssh host "./myscript.sh"

或者

cat myScript.sh | ssh host "cat - > myScript.sh; . ./myScript.sh; rm myScript.sh"

相关内容