시스템 전반에 걸쳐 bash 동작의 이상한 차이점

시스템 전반에 걸쳐 bash 동작의 이상한 차이점

Ubuntu 컴퓨터와 Android 태블릿이라는 두 개의 시스템이 있습니다. adb에서 사용할 Android용 bash를 구축하고 구성했으므로 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

Android 빌드에서처럼 완성을 위해 $를 사용하는 대신 Ubuntu 버전이 $를 이스케이프하도록 만드는 방법은 무엇입니까? 둘 다 같은 방식으로 작동하게 하려면 어떻게 해야 합니까? 어떤 도움이라도 대단히 감사하겠습니다.

답변1

bash 패키지 4.2-0ubuntu3은 다음 버그에 따라 이 문제를 나타냅니다.

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

분명히 이는 bash 자체의 문제이므로 지금 당장은 bash의 업스트림 복사본을 다운로드하고 컴파일하여 컴퓨터에서 실행하는 것이 좋습니다.

관련 정보