Bash 자동 완성이 작동하도록 하기

Bash 자동 완성이 작동하도록 하기

새로운 미러링된 VPS 서버가 있습니다. Bash 탭 완성 및 기록(화살표 키를 통해)은 루트 계정에서 예상대로 작동하지만 권한이 낮은 계정에서는 전혀 작동하지 않습니다. 또한 화살표 키를 사용하여 오타를 수정하기 위해 입력한 명령 내에서 탐색할 수 없습니다. ^[[D터미널에 비슷한 메시지가 나타납니다. 내 .bashrc것은

# enable bash completion in interactive shells
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

이 문제를 해결하는 방법에 대한 아이디어가 있습니까? 감사합니다!

답변1

귀하의 설명에 따르면 bash 기능의 명령줄 버전은 작동하지 않습니다.나는 무루와 함께 있어요:가장 그럴듯한 설명은 실제로 bash를 실행하는 것이 아니라 dash와 같은 다른 쉘을 실행하고 있다는 것입니다. 이것은 /bin/shbash가 아니라는 점을 기억하십시오. 일부 배포판에서는 bash를 bash로 설치 /bin/sh하지만 Ubuntu는 그렇지 않습니다.

로그인 쉘이 무엇인지 확인하십시오.

getent passwd $USER

줄이 로 끝나면 :/bin/bash로그인 쉘은 bash입니다. dash 로 끝나는 경우 :/bin/sh로그인 쉘은 대화형 사용이 아닌 스크립팅용 쉘인 dash입니다.

chsh -s /bin/bash로그인 쉘을 bash로 변경하려면 실행하십시오 . 로그아웃하기 전에 다른 터미널에서 로그인이 가능한지 반드시 확인하세요.

관련 정보