1

У меня есть две системы, компьютер с Ubuntu и планшет на Android. Я собрал и настроил bash для Android для использования в adb, так что это та же версия, что и в моем Ubuntu bash, и они используют в основном те же bashrc и конфигурацию, и те же параметры, которые установлены в shopt.

Тем не менее, есть небольшая разница в том, что Android-bash ведет себя так, как я ожидаю, когда я пытаюсь завершить что-то, используя переменную, а Ubuntu bash - нет.

 #Android
 ls $HOME/loc<tab> => ls $HOME/local #As expected

В основном, переменная учитывается при заполнении. Но потом

#Ubuntu
ls $HOME/loc<tab> => ls \$HOME/loc #Undesired behavior.

Список параметров следующий, и он одинаков в обеих сборках bash.

autocd:checkwinsize:cmdhist:expand_aliases:extglob:extquote:force_fignore:histappend:interactive_comments:progcomp:promptvars:sourcepath

Что может заставить версию Ubuntu экранировать $ вместо использования ее для завершения, как в сборке Android? Что я могу сделать, чтобы оба работали одинаково? Любая помощь будет оценена.

1 ответ1

0

Пакет bash 4.2-0ubuntu3 демонстрирует эту проблему, согласно этой ошибке:

https://bugs.launchpad.net/ubuntu/+source/bash/+bug/778627/

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .