Если оболочка запущена в окне терминала gnome , затем перейдите в меню:Edit
| Preferences
| Profiles
и выберите профиль, затем выберите вкладку Compatibility
и измените Delete key generates
на Automatic
. (Или, если это не помогло, попробуйте другие варианты.)
Кроме того, вы можете ввести ^v Del
и ^v Backspace
, (, т.е. Control -v с последующим нажатием клавиши удаления и Control -v с последующим нажатием клавиши Backspace ), чтобы найти возвращенный «терминальные» коды последовательности.
А для проверки используйте командуshowkey
как showkey -s
, showkey -k
и/или showkey -a
(, т.е. три слоя ), а затем нажмите клавиши Del
и Backspace
для:
I )необработанный вывод с клавиатуры
II )вывод драйвера tty
III )строки символов, передаваемые терминалу (ansi )
Из этого я заметил, что при использовании stty (, например. stty1 ), что поведение моей оболочки отличается от поведения при использовании xterm (из графического X-терминала ). Del правильно удалил вперед (вправо )в stty1, но назад (влево )в моем xterm.
Команда выполняется оболочкой на Android, поэтому задействованы две оболочки :локальная оболочка, в которой вы ее вводите, и оболочка на Android, которая adb shell
вызывает. Поэтому вам нужно дважды заключать специальные символы в кавычки, если они должны проходить через обе оболочки.
Было бы менее ошибочно написать команду как
adb shell 'am broadcast -a com.test.app --es command STOP --es filename sample 1.01.49 7-09-1380(01).apk'
Это приводит к выполнению следующей команды оболочки на Android:
am broadcast -a com.test.app --es command STOP --es filename sample 1.01.49 7-09-1380(01).apk
Но на самом деле вы хотите выполнить что-то вроде
am broadcast -a com.test.app --es command STOP --es filename "sample 1.01.49 7-09-1380(01).apk"
Поэтому вам нужно, чтобы локальная команда выглядела примерно так
adb shell 'am broadcast -a com.test.app --es command STOP --es filename "sample 1.01.49 7-09-1380(01).apk"'