为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕容708150 2022-11-19 13:09:58

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分钟的文件。

查看完整描述

2 回答

?
潇潇雨雨

TA贡献1561条经验 获得超3个赞

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

查看完整回答
反对 回复 2022-11-24
?
呼如林

TA贡献1526条经验 获得超1个赞

没动手实践
不过我觉得你的num是定义在方法里面的
你的把num的值return出来在方法外面才能接到

查看完整回答
反对 回复 2022-11-24

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信