我需要将以下命令添加到.bat文件中,但它停止并在以下位置挂在“ root @ apq8084:/#”:
adb root
adb remount
adb shell
我可以手动输入以下所有命令,但是批处理文件不会将它们传递过来。 请有人帮我解决这个问题。
adb root
adb remount
adb shell
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
cat /system/bin/sh > /system/bin/su
chmod 4755 /system/bin/s
chmod 220 /sys/class/gpio/unexport /sys/class/gpio/export
set -A pins 8 28 55 56 76 77 95
for i in 0 1 2 3 4 5 6
do
echo ${pins[i]} > /sys/class/gpio/export;
chmod 777 /sys/class/gpio/gpio${pins[i]};
chmod 777 /sys/class/gpio/gpio${pins[i]}/value;
chmod 777 /sys/class/gpio/gpio${pins[i]}/direction;
done
mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system
答案 0 :(得分:1)
我怀疑脚本正在su
命令处停止,因为它正在等待输入超级用户的密码。您是否要以超级用户身份在su
语句之后运行所有命令?如果是这样,则可以使用 heredoc 语法并提供密码作为schell脚本的第一个也是唯一的参数
(有关更多详细信息,请参见https://en.wikipedia.org/wiki/Here_document#Unix_shells。)
#!/bin/bash
MY_PASSWORD=$1
adb root
adb remount
adb shell
echo ${MY_PASSWORD} | su -S <<EOSU
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
cat /system/bin/sh > /system/bin/su
chmod 4755 /system/bin/s
chmod 220 /sys/class/gpio/unexport /sys/class/gpio/export
set -A pins 8 28 55 56 76 77 95
for i in 0 1 2 3 4 5 6
do
echo ${pins[i]} > /sys/class/gpio/export;
chmod 777 /sys/class/gpio/gpio${pins[i]};
chmod 777 /sys/class/gpio/gpio${pins[i]}/value;
chmod 777 /sys/class/gpio/gpio${pins[i]}/direction;
done
mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system
EOSU
然后这样称呼它:
my-script.sh mySuperUserPassword