Quando eu defino o shell padrão, ele não "pega"

0

Eu quero que meu shell padrão seja bash. No entanto, sempre que eu faço login no meu servidor, o shell é aparentemente -bash :

$ echo $0
-bash

Se eu executar bash , é claro que eu mudei para bash para essa sessão, mas ela não funciona, mesmo se eu usar chsh -s /bin/bash .

Há alguma etapa que estou faltando se eu quiser que o bash seja meu shell padrão?

    
por Jason Swett 22.02.2012 / 16:35

5 respostas

6

Após o bash, ele preenche seu nome com - para indicar que é um shell de login.

A variável SHELL conterá o caminho para o binário real.

    
por 22.02.2012 / 16:46
2

Você está executando bash . Tente echo $BASH , que apontará para o binário executado.

    
por 22.02.2012 / 16:43
0

O -bash indica que você está executando o bash como seu shell de login.

Se você executar /bin/bash do shell de login e executar echo $0 , verá o comando atualmente em execução que foi executado a partir do shell de login (mas não do próprio shell de login).

Para encurtar a história, você está executando o bash como seu shell de login. Você pode verificar seu shell de login designado procurando seu nome de usuário em /etc/passwd .

    
por 22.02.2012 / 16:46
0

Você está, por acaso, fazendo login em um sistema que obtém seus nomes de usuário pelo NIS? Nesse caso, você precisa usar ypchsh para alterar suas informações de shell de login no servidor.

    
por 05.08.2012 / 13:59
0

Jason,

De seus comentários na resposta de SvenW, seu problema real parece um pouco diferente de como você o descreveu em sua pergunta.

Por que você não edita sua pergunta? : -)

Enquanto você pode dar uma olhada em esta postagem , parece resolver o seu problema. Em particular, você poderia adicionar

source ~/.bashrc

para o arquivo .bash_profile em seu diretório pessoal (ou crie, se não existir).

    
por 18.04.2013 / 21:01

Tags