命令在程序脚本中调用与串口执行结果不一致?

  这两天碰到一个bug,调试了好久,这里做一下记录,以免以后再掉入这个坑。

bug描述

  在/usr/bin/目录下,有命令wpa_cli,(这是hostapd中的命令。用来配置无线网络的)。我测试路由器WPS功能时,如果Extender(我测试的板子)通过WPS连接上RootAP时,Extender会调用一个action_file:lib/wifi/wps-supplicant-update-uci。脚本wps-supplicant-update-uci中会调用wpa_cli … status.来获取Extender的sta接口的一些状态信息。 但是发现wpa_cli的输出为空

bug调试

  该Bug仅在运行WPS连接RootAp根据CONNECTED状态调用lib/wifi/wps-supplicant-update-uci时出现,手动在串口运行wpa_cli status可以获取到信息。手动执行脚本lib/wifi/wps-supplicant-update-uci(传入对应参数)也可以执行成功。

bug解决

  程序调用脚本,与手动调用脚本结果不一致,很可能是因为环境变量的问题。通过env打印环境变量,将串口的环境变量在脚本中重新设置一遍,发现程序调用脚本也能成功了。 最终定位问题,脚本中缺少环境便令PATH导致了这个bug。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值