我知道我可以在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/