Я уже опубликовал аналогичный вопрос, но все еще не смог выполнить свою работу, так что это вторая попытка, где я хотел бы более четко изложить свой камень преткновения.
Так что в основном я нахожусь в adb телефона AndroidОболочка, связывающаяся с модемом GPRS путем отправки AT-команд.Я могу сделать это путем перенаправления по команде в файл устройства, представляющий модем;и я могу прочитать ответ, используя утилиту cat, запущенную в фоновом режиме (запущенную ранее).Я реализовал это в сценарии, который может отправить одну команду AT и прочитать ответ.Например, вот сценарий для отправки в + копы?чтобы получить имя оператора, на котором находится мобильный телефон:
#SendATCommand script
cat /dev/pts/7 &
echo -e at+cops?\\r > /dev/pts/7
Вывод выглядит следующим образом:
# ./sendATCommand
./sendATCommand
#
+COPS: 0,0,"AT&T",6
OK
/dev/pts/7: invalid length
Теперь есть две проблемы, которые я не могу решить:
- Мне все еще нужно вручную нажать кнопку ВВОД, чтобы получить обратно приглашение adb shell "#".Можно ли программно вернуться к «#»?Я снова в оболочке adb.
- Отображаемый ответ не может быть захвачен ни в переменной, ни в файле (например, (#. / SendATCommand> output.txt) файл Output.txt будет пустымЯ пробовал различные перенаправления, но все равно не получил его.
Может ли кто-нибудь помочь мне решить эти две проблемы (если это возможно)? В конечном счете, я хочу, чтобы этот маленький скрипт вызывался из«супер» скрипт (например, Perl или Powershell), работающий на ПК, к которому подключено мое Android-устройство, но сделать это невозможно, пока эти две проблемы не будут решены. Заранее большое спасибо!