求问 BAT脚本如何自动执行 adb shell 以后的命令
如下代码echooffadbshellsu当运行到adbshell后bat无法继续执行命令应该是跳转到linux内核无法识别求问如何在BAT中实现linux命令的自动运行...
如下代码
echo off
adb shell
su
当运行到 adb shell后 bat无法继续执行命令 应该是跳转到linux内核 无法识别
求问 如何在 BAT 中实现 linux命令的自动运行
就是说 adb shell 后能继续自动执行su 和相关的linux命令
adb shell su会卡死、
我试过使用命令 adb shell +指令 会提示权限不足
adb shell后 使用SU命令获取权限
然后自动运行linux代码 展开
echo off
adb shell
su
当运行到 adb shell后 bat无法继续执行命令 应该是跳转到linux内核 无法识别
求问 如何在 BAT 中实现 linux命令的自动运行
就是说 adb shell 后能继续自动执行su 和相关的linux命令
adb shell su会卡死、
我试过使用命令 adb shell +指令 会提示权限不足
adb shell后 使用SU命令获取权限
然后自动运行linux代码 展开
3个回答
2020-12-10
展开全部
这是无法实现的。你无法在bat脚本中运行交互式shell命令,你的命令无法发送进入。
bat脚本运行时,是在CMD的环境下运行,它的命令解释器是cmd。
而su在shell环境下执行的,它的命令解释器是shell下的"/system/bin/sh"。
su是一条交互式的shell命令,它需要与shell环境下的用户进行交互操作。
问题就在这里了,
bat脚本只负责将"shell su"作为参数传递执行一次adb.exe。
这个动作完成,这条命令的步骤就算结束了,
但此时su还有一个切换用户身份的动作,如果有密码还会通过shell请求用户输入密码,
但运行bat的cmd环境是它收不到这个请求的。
解决办法:
一. 将su命令之后需要执行的命令写成一个sh脚本。
通过adb将sh脚本推入手机中,并为脚本添加可执行权限
在bat中添加一条比方说这样的命令
adb shell ". /path/to/your/file.sh"
二. 安装superSU授权管理器
安装superSU授权管理器后执行
adb root
授权,允许adb以root身份运行。
这之后你通过adb 发送的shell命令会以root身份执行。
bat脚本运行时,是在CMD的环境下运行,它的命令解释器是cmd。
而su在shell环境下执行的,它的命令解释器是shell下的"/system/bin/sh"。
su是一条交互式的shell命令,它需要与shell环境下的用户进行交互操作。
问题就在这里了,
bat脚本只负责将"shell su"作为参数传递执行一次adb.exe。
这个动作完成,这条命令的步骤就算结束了,
但此时su还有一个切换用户身份的动作,如果有密码还会通过shell请求用户输入密码,
但运行bat的cmd环境是它收不到这个请求的。
解决办法:
一. 将su命令之后需要执行的命令写成一个sh脚本。
通过adb将sh脚本推入手机中,并为脚本添加可执行权限
在bat中添加一条比方说这样的命令
adb shell ". /path/to/your/file.sh"
二. 安装superSU授权管理器
安装superSU授权管理器后执行
adb root
授权,允许adb以root身份运行。
这之后你通过adb 发送的shell命令会以root身份执行。
展开全部
你可以试一下下面的方法:
@echo off
echo su > temp.txt
echo 其它命令 >> temp.txt
adb shell < temp.txt
del temp.txt
@echo off
echo su > temp.txt
echo 其它命令 >> temp.txt
adb shell < temp.txt
del temp.txt
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
& adb shell
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询