我想使用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"
1条答案
按热度按时间2vuwiymt1#
你只把一个函数的定义放在发送给远程主机的字符串中,为什么另一个函数也会神奇地出现呢?
您需要先定义所有函数,然后才能使用它们: