答案1
你照片上的文字看起来和你脚本中的一样,是的。但仅凭一张照片很难确定。
但请注意当您运行脚本时文本如何到达您的终端?命令替换应该捕获输出,无论它捕获什么,都不会被打印。adb
可能会按照标准打印该消息错误,不是标准输出,因此不会被捕获。
你可以用这样的东西来验证:
echo "running the command substitution... (errors would print after this line)"
output=$(adb shell getprop sys.boot_completed)
echo "captured output (stdout): '$output'"
然后看看从哪里出来什么。
如果这确实是问题所在,那么您需要在命令替换中将 stderr 重定向到 stdout:
if [[ "$(adb shell getprop sys.boot_completed 2>&1)" =~ "adb: no devices/emulators found" ]]; then
...