Como eu mudo de um shell desconhecido para o bash?

40

Fiquei surpreso por 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 username@computername:~$ .

Então, como eu mudo desse outro shell para o bash?

    
por mouche 30.08.2010 / 03:59

3 respostas

59

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) . Uso de amostra: chsh -s /bin/bash your_user

    
por 30.08.2010 / 04:28
19

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

Veja 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 significam que o usuário não possui um shell de login real, embora, se o pam não estiver configurado corretamente, isso não significa que ele não possa fazer login (relatei um erro no Arch Linux, porque você pode logar graficamente sem ter um shell de login). /bin/bash e /bin/zsh são ambos shells válidos, consulte /etc/shells para obter uma lista de shells válidos em seus sistemas. Aqui está o meu /etc/shells se você estiver 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 que esses são apenas arquivos de texto estruturados e TIMTOWTDI.

    
por 30.08.2010 / 04:27
11

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

exec /bin/bash --login
    
por 30.08.2010 / 22:05

Tags