У меня есть две системы, компьютер с 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? Что я могу сделать, чтобы оба работали одинаково? Любая помощь будет оценена.