如下,自定义的函数执行命令怎么返回结果?

haha(){
ssh -tT root@192.168.0.1<<eof
su - weihu
TERM=linux
export TERM
cd /home/weihu/
find . -mmin -10 | wc -l
eof
}
其中find . -mmin -10 | wc -l的值我想取出来,如果写成
num=`find . -mmin -10 | wc -l`
echo $num
则$num的值为空,而不是find命令执行的结果。
ps:不要说find没有查找到最近10分钟的文件。

慕容708150
浏览 74回答 2
2回答

潇潇雨雨

eof 中的都是在远程主机上执行的命令,无法用变量赋值的形式将值取回本地。我想到的一个办法是将结果重定向到文件,然后取文件内容。具体也没有环境测试,可以试试结尾的 eof >result,这样result文件生成在本地。若不行,则 find . -mmin -10 | wc -l >result,然后从远程主机取result文件读内容。

呼如林

没动手实践不过我觉得你的num是定义在方法里面的你的把num的值return出来在方法外面才能接到
打开App,查看更多内容
随时随地看视频慕课网APP