Как включить историю оболочки Android adb с клавишами вверх / вниз в Linux? - PullRequest
9 голосов
/ 18 декабря 2010

Я недавно обновился до нового Android SDK, и я заметил кое-что очень очень беспокоящее. Кажется, больше нельзя использовать историю команд в оболочке. Вы замечаете то же самое? Оболочка Android кажется мне ужасной, но, по крайней мере, в последнем SDK у меня была история команд. Теперь кажется, что нажатие стрелки вверх / вниз приводит к появлению некоторых кодов, написанных в приглашении (что-то вроде ^ [[A, ^ [[B и т. Д. ...). Я попытался прочитать немного вокруг, но я нашел очень мало, спрашивающих это ноль ответов. Любая идея, почему это происходит и как это решить?

Ответы [ 3 ]

3 голосов
/ 18 декабря 2010

Вы можете запустить оболочку внутри rlwrap :

rlwrap adb shell

Я предпочитаю запускать ее в буфере оболочки Emacs самостоятельно, я рекомендую это, если у вас нет аллергии на Emacs.Emacs также хорош для запуска adb logcat: вы получаете доступную для поиска историю, и сообщения обновляются по мере их поступления, и вы можете легко помещать интересные шаблоны в цвет (M-x highlight-regexp и друзья).

1 голос
/ 19 декабря 2010

Если вы говорите о реальном устройстве (не эмуляторе), вы должны попробовать некоторые неофициальные прошивки, такие как Cyanogenmod - он включает в себя гораздо лучшие бинарные инструменты, такие как гораздо более функциональная оболочка набор обычных инструментов UNIX, SSH-сервер и т. д.

Если вы говорите об эмуляторе, вы можете извлечь эти двоичные файлы из прошивок и вставить их в эмулятор как есть (используя образ карты памяти).

0 голосов
/ 18 декабря 2010

Если Ctrl - p по-прежнему дает вам предыдущие записи в истории, то возможно, что клавиши со стрелками по какой-то причине стали несвязанными.Попробуйте это:

bind '"\e[A": previous-history'
bind '"\e[B": next-history'

Если это заставляет работать клавиши со стрелками, вы можете сделать это постоянным, добавив эти две строки в /etc/inputrc или ~/.inputrc:

"\e[A": previous-history
"\e[B": next-history
...