Eu criei um novo usuário executando
sudo useradd -m harry
Quando tento substituir o usuário por "su-harry", tudo o que vejo é um sinal "$" (dólar), o preenchimento automático não está funcionando e os recursos internos do shell (por exemplo, origem) não estão disponíveis. / p>
Eu verifiquei .bashrc e .profile e detectei que .bashrc não está sendo originado porque $ BASH_VERSION não está definido.
O código dentro de .profile é semelhante ao seguinte:
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
O comando echo $BASH_VERSION
não retorna nada.
$ echo $BASH_VERSION
$
Os builtins do shell (fonte .bashrc, .bashrc) também não funcionam.
O valor da variável SHELL era '/ bin / sh', que é o alias do traço. Eu mudei para / bin / bash (exportação SHELL = / bin / bash) mas não teve nenhum efeito.
Quando eu codifico ".bashrc" no .profile (claro, só para verificar se funcionaria) recebo vários erros:
admin@host:~$ sudo su - harry
-su: 13: /home/harry/.bashrc: shopt: not found
-su: 21: /home/harry/.bashrc: shopt: not found
-su: 105: /home/harry/.bashrc: shopt: not found
-su: 28: /etc/bash_completion: [[: not found
-su: 34: /etc/bash_completion: [[: not found
-su: 51: /etc/bash_completion: Bad substitution
\[\e]0;\u@\h: \w\a\]\u@\h:\w$
Alguma idéia de como corrigir isso?
Obrigado antecipadamente.
jepetko