ti-enxame.com

Como alterno de um Shell desconhecido para o bash?

Fiquei surpreso por ainda não encontrar essa pergunta no site. Então hoje $ surgiu depois que eu entrei como um novo usuário. Isso foi inesperado porque o prompt do meu usuário principal começa com [email protected]:~$.

Então, como mudar desse outro Shell para o bash?

41
mouche

Supondo que o Shell desconhecido suporte a execução de um comando absoluto, você pode tentar: /bin/bash

Para alterar o Shell padrão, eu usaria chsh(1). Exemplo de uso: chsh -s /bin/bash $USER

62
Kevin M

Você digita bash. Se você quiser que isso seja permanente, altere o Shell padrão para /bin/bash editando /etc/passwd.

Aqui estão alguns trechos do meu /etc/passwd:

avahi:x:84:84:Avahi daemon:/:/bin/false
xenoterracide:x:1000:100::/home/xenoterracide:/bin/zsh
postgres:x:88:88::/var/lib/postgres:/bin/zsh
bob:x:1001:1001::/home/bob:/bin/bash
usbmux:x:140:140:usbmux user:/:/sbin/nologin

O último campo contém o Shell, modificando o campo após o último : para um Shell válido ou inválido funcionará. /bin/false e /sbin/nologin ambos significam que o usuário não possui um Shell de logon real, embora se o pam não esteja configurado corretamente, isso não significa que eles não podem logar (eu relatei um bug sobre isso no Arch Linux, porque você pode efetuar login graficamente sem ter um Shell de login). /bin/bash e /bin/zsh são conchas válidas, consulte /etc/shells para obter uma lista de shells válidos em seus sistemas. Aqui está o meu /etc/shells se você está interessado.

/bin/sh
/bin/bash
/bin/ksh
/bin/zsh
/bin/dash

Sim, você pode usar chsh ou usermod para fazer as mesmas coisas, lembre-se de que estes são apenas arquivos de texto estruturados e TIMTOWTDI.

20
xenoterracide

Se chsh ou a edição manual da configuração não funcionar, mas um script ~/.profile for executado no login, adicione esta linha:

exec /bin/bash --login
12
Kevin Cantu