如何在 adb shell 上使用 su 命令?

新手上路,请多包涵

我需要制作一个在Android设备上执行很多事情的脚本,我的设备是root的,当我进入shell时,我可以给出命令su,它可以工作,但我需要传递这个命令,比如:

 adb shell "
su;
mv /sdcard/Download/app_test /data/local;
cd /data/local;
./app_test;
exit;
exit;
"

当我在 su 之前放置一些命令时它可以工作,根据我阅读的内容 su 创建一个立即返回的新 shell,但是我需要在 su shell 上给出命令,我该怎么做?

原文由 Alex 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 5.8k
2 个回答

好吧,如果您的手机已植根,您可以使用 su -c 命令运行命令。

以下是在 build.prop 文件中使用 cat 命令获取手机产品信息的示例。

 adb shell "su -c 'cat /system/build.prop |grep "product"'"

这会调用 root 权限并在 ' ' 中运行命令。

请注意 5 个结束引号,这要求您关闭所有结束引号,否则您将收到错误消息。

为了澄清,格式是这样的。

 adb shell "su -c '[your command goes here]'"

确保您输入命令的方式与在 shell 中运行时的正常方式完全相同。

原文由 A-Droid Tech 发布,翻译遵循 CC BY-SA 4.0 许可协议

在我的 Linux 上,我看到一个错误

adb shell "su -c '[your command goes here]'"

su: 无效的 uid/gid ‘-c’

解决方案 是在 Linux 上

adb shell su 0 '[your command goes here]'

原文由 hannes ach 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题