Diferença estranha no comportamento bash entre sistemas

1

Eu tenho dois sistemas, um computador Ubuntu e um tablet Android. Eu construí e configurei o bash para o Android ser usado no adb, então é a mesma versão do meu bash do Ubuntu, e eles usam basicamente o mesmo bashrc e configuração, e as mesmas opções exatas configuradas pelo shopt.

No entanto, há uma ligeira diferença em que o bash Android se comporta como eu esperava quando eu tento tab-complete algo usando uma variável nele, mas o bash do Ubuntu não.

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

Basicamente, a variável é levada em conta ao concluir. Mas então

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

A lista de opções é a seguinte, e é a mesma em ambas as compilações do bash.

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

O que pode fazer com que a versão do Ubuntu escape do $ em vez de usá-lo para a conclusão como na versão do Android? O que posso fazer para que ambos funcionem da mesma maneira? Qualquer ajuda será muito apreciada.

    
por pinkie_d_pie_0228 12.11.2012 / 23:59

1 resposta

0

O pacote bash 4.2-0ubuntu3 apresenta este problema, de acordo com este bug:

link

Aparentemente isso está em um problema com o bash, então, agora, sua opção é fazer o download e compilar uma cópia upstream do bash para rodar na sua máquina.

    
por 13.11.2012 / 02:31

Tags