我想做的是:
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"