linux在sh脚本ssh,Shell脚本:通过ssh从脚本运行功能

您可以使用该typeset命令通过来使功能在远程计算机上可用ssh。有多个选项,具体取决于您要如何运行远程脚本。

#!/bin/bash

# Define your function

myfn () {  ls -l; }

要在远程主机上使用该功能:

typeset -f myfn | ssh user@host "$(cat); myfn"

typeset -f myfn | ssh user@host2 "$(cat); myfn"

更好的是,为什么还要麻烦管道:

ssh user@host "$(typeset -f myfn); myfn"

或者,您可以使用HEREDOC:

ssh user@host << EOF

$(typeset -f myfn)

myfn

EOF

如果要发送脚本中定义的所有函数,而不仅仅是发送myfn,请typeset -f像这样使用:

ssh user@host "$(typeset -f); myfn"

说明

typeset -f myfn将显示的定义myfn。

cat将以文本形式接收该函数的定义,$()并将在当前的shell中执行它,该shell将成为远程shell中的已定义函数。最后,该功能可以执行。

最后的代码将在ssh执行之前将函数的定义内联。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值