有谁知道如何从adb shell运行命令并保留在shell会话中? 我试图实现的是在adb shell中设置别名。如何运行adb shell命令并保留在shell中?
我曾尝试没有成功
adb shell <<< "ls"
执行此命令确实留在后壳下面,但不能接收任何进一步的命令的输出。
我也曾尝试以下操作:
adb shell <<EOF
ls
EOF
具有相同的结果。
有谁知道如何从adb shell运行命令并保留在shell会话中? 我试图实现的是在adb shell中设置别名。如何运行adb shell命令并保留在shell中?
我曾尝试没有成功
adb shell <<< "ls"
执行此命令确实留在后壳下面,但不能接收任何进一步的命令的输出。
我也曾尝试以下操作:
adb shell <<EOF
ls
EOF
具有相同的结果。
当你运行:
adb shell ls
您正在外面亚行运行此命令。
首先,您需要输入ADB:
adb shell
一旦你进入亚行外壳,您可以继续看到输出和输入更多命令。
ls
help
要退出亚行,只需键入 “退出” 或按下 “Ctrl + C”
请让我知道,如果这有助于!
在评论here中回答了类似的问题。
总之,请从你的终端执行以下操作:
stty raw -echo ; (echo "ls" && cat) | adb shell ; stty sane
注:没有stty
魔法,命令通过管道输送到adb
和标签完整等不被认可。
期望的解决方案
adb-cmd
:
#!/usr/bin/env expect
spawn adb shell
expect "#"
send [ concat [ join $argv " " ] ]
send "\r"
interact
用法:
adb-cmd 'cd /data/data; ls'
在Ubuntu 16.04主机,Android的Ø客人进行测试。