Как использовать, если при сравнении 2 строк в оболочке ADB - PullRequest
0 голосов
/ 05 июня 2011

Как использовать, если при сравнении 2 строк в оболочке ADB я пытаюсь использовать:

if ["a" = "a"];
then
fi

это выдает ошибку [: не найдено

Я перепробовал все вариантыесли, получил ту же ошибку,

даже просто

if [];
then
fi 

также дает тот же ответ.

Ответы [ 2 ]

0 голосов
/ 31 августа 2011

Согласно http://developer.android.com/guide/developing/tools/adb.html, adb (Android Debug Bridge) использует оболочку ash.

У меня нет adb, но у меня есть ash в моей системе Ubuntu,В этой системе работает следующее:

if [ "a" = "a" ]
then
    echo ok
fi

Попробуйте этот точный код в вашей оболочке adb, включая все пробелы.В частности, пробелы вокруг [ и перед ] являются обязательными.

Обратите внимание, что точка с запятой после ] не требуется;это, вероятно, хорошо, но удалите это просто, чтобы быть уверенным.(Вы сказали, что «пробовали все подобные вещи». Не пробуйте «похожие вещи»; попробуйте это.)

Вы уверены, что находитесь в оболочке (adb shell), а не в * 1021?* сам?(Я не знаю, есть ли у adb интерактивный режим, так что это может не иметь смысла.)

0 голосов
/ 05 июня 2011

Что если вы поставите пробелы внутри скобок, например:

if [ "a" = "a" ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...