Fazendo o trabalho de autocompletar de bash

0

Eu tenho um servidor VPS com nova imagem. A conclusão e o histórico da tabulação Bash (através das teclas de setas) funciona como esperado na conta root, mas está totalmente ausente na minha conta com privilégios mais baixos. Eu também não consigo navegar dentro de um comando que eu digito para corrigir erros de digitação usando as teclas de seta - eu acabei de receber algo como ^[[D no terminal. Meu .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

Alguma idéia de como corrigir esse problema? Obrigada!

    
por Mark C. 17.01.2017 / 13:06

1 resposta

4

Indo por sua descrição, nenhuma das funções de edição de linha de comando do bash funcionam. Estou com muru : a explicação mais provável é que você não é, na verdade, correndo bash, mas alguns shell diferente, como traço. Tenha em mente que /bin/sh não é bash - algumas distribuições instalam o bash como /bin/sh , mas o Ubuntu não.

Verifique qual é o seu shell de login:

getent passwd $USER

Se a linha terminar com :/bin/bash , seu shell de login será bash. Se ele terminar com :/bin/sh , seu shell de login é dash, que é um shell destinado a script, não para uso interativo.

Execute chsh -s /bin/bash para alterar seu shell de login para bash. Antes de sair, verifique se você ainda pode efetuar login em outro terminal.

    
por 18.01.2017 / 01:48