我知道我可以在 SSH session 中从本地 shell 调用变量,所以我假设我也可以通过这种方式调用函数。但这似乎不起作用。
我有一个脚本来检查我的本地机器是否可以处理某些操作,如果可以,我需要调用本地函数,如果本地机器不能,我需要通过 SSH 连接到远程机器并调用本地函数。
canHandle() {
if [ -d /this_must_exist/ ]
then
return 0
else
return 1
fi
}
localFunction() {
// Predefined tasks
}
canHandle
if [ $? -eq 0 ]
then
// Process locally using predefined functions
localFunction
else
ssh -t me@server << ENDSSH
// Process remotely calling predefined local functions
localFunction
ENDSSH
fi
最佳答案
恕我直言,这行不通。
局部变量在您的本地 Shell 上扩展,并在传输中扩展。
您可以编写一个 bash 脚本,执行与本地函数相同的操作,然后编写一个函数通过 scp 将其复制到远程系统,通过 shh 在那里执行,然后删除它。
关于linux - 我可以从 ssh 调用本地函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18490175/