linux 如何使用ssh和typeset将本地服务器定义的多个函数传递到远程服务器

7eumitmz  于 2022-12-03  发布在  Linux
关注(0)|答案(1)|浏览(148)

我想使用ssh和排版将本地服务器(myscript.sh)中定义的多个函数传递到远程服务器,我知道如何使用排版传递单个函数,我想知道我们是否可以使用ssh和排版传递多个函数定义。

getIPAddress()
        {       
                ip_address=$(hostname -i)
                echo $ip_address
        } 
getMachineHostName()
        {
                machine_name=$(hostname -s)
                echo $machine_name
                echo "The IP is" $(getIPAddress)
                
        } 
#This only passes the getMachineHostName fuction but not the getIPAddress fuction to ssh
ssh user@remote "$(typeset -f getMachineHostName); getMachineHostName"
2vuwiymt

2vuwiymt1#

你只把一个函数的定义放在发送给远程主机的字符串中,为什么另一个函数也会神奇地出现呢?
您需要先定义所有函数,然后才能使用它们:

ssh user@remote "$(typeset -f getMachineHostName); $(typeset -f getIPAddress); getMachineHostName"

相关问题