我正在尝试编写一个 bash 脚本,运行时可以找到通过 USB 连接的设备的 IP 地址。执行此操作的 bash 脚本:
#!/usr/bin/bash
ip=$(adb shell 'sudo ip -f inet addr show')
然后我将在稍后的脚本中使用该 ip。但是 shell 命令给了我一个错误:
error: closed
为了调用脚本,我刚刚导航到终端所在的目录并输入
./name_of_script
每个 shell 命令都会给我这个错误。我什至尝试删除单引号。当我尝试在终端内的脚本之外运行相同的命令时,它运行得完美无缺。如何在 bash 脚本中运行 shell 命令?
怎么了?
在 Android 上没有 sudo,只有在 root 设备上su
二进制文件存在。因此你必须将命令更改为:
adb shell su -c 'ip -f inet addr show'
但在我的测试中使用的命令ip -f inet addr show
不需要root权限,输出是一样的。
因此您可以将命令简化为:
adb shell ip -f inet addr show
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)