AHa*_*ahr 5 linux shell scripting android wifi
在过去的几天里,我有一个问题一直困扰着我.我想写一个Android sh脚本执行以下操作(帮助我同步音乐,图片等):
1)打开wifi(默认情况下wifi关闭以节省电量)
2)检查我的wifi连接是否在范围内(让我们称之为myWifi)
3)如果myWifi不在范围内,禁用wifi,如果在范围内,则连接并启动一些同步软件
现在,要启用/禁用wifi,我使用以下命令,这需要root:
svc wifi enable / disable
要扫描可用的wifi连接,我使用以下命令:
iwlist eth0 scan
事情是,iwlist eth0 scan只有当我没有以root身份登录时才能工作(我很好奇为什么会这样,如果有人知道什么?),运行它时root会返回:
eth0: Interface doesn't support scanning : Invalid argument
但是在没有以root身份登录的情况下运行它会给我我需要的信息.我尝试过不同的方法来解决这个问题.最明显的一个是在调用iwlist命令之前以Android系统中的标准用户身份登录:
su -c app_1
但是,任何涉及su的命令都会permission denied在以root身份调用时返回,并且由于Android中不存在sudo,我觉得这里很丢失.我也尝试了一个解决方法,包括将脚本分成两部分,并尝试以root身份运行第一部分,第二部分运行非root(Android i app_1中的默认用户),但这只会延迟问题......
如果有人iwlist eth0 scan在以root用户身份登录时如何解决此用户问题或如何使用(或执行相同操作的其他命令),我将非常感激.
谢谢.
根据man iwlist , 普通用户只能看到一些剩余的扫描结果。要以 root 身份启动新扫描,您首先需要启动界面(启动 wifi 后):
ifconfig wlan0 up
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2201 次 |
| 最近记录: |