Como é possível alterar o shell padrão? O env
comando atualmente diz:
SHELL=/bin/tcsh
e eu quero mudar isso para Bash.
Como é possível alterar o shell padrão? O env
comando atualmente diz:
SHELL=/bin/tcsh
e eu quero mudar isso para Bash.
Respostas:
Tente o comando linux chsh
.
O comando detalhada chsh -s /bin/bash
. Ele solicitará que você digite sua senha. Seu shell de login padrão é /bin/bash
agora. Você deve sair e fazer login novamente para ver esta alteração.
O seguinte é citado na página do manual:
O comando chsh altera o shell de login do usuário. Isso determina o nome do comando de login inicial do usuário. Um usuário normal pode alterar apenas o shell de login para sua própria conta, o superusuário pode alterar o shell de login para qualquer conta
Este comando alterará permanentemente o shell de login padrão.
Nota: Se sua conta de usuário for remota, como na autenticação Kerberos (por exemplo, Enterprise RHEL), você não poderá usá-lo chsh
.
chsh: can only change local entries; use ypchsh instead
. Então o ypchsh não tem -s
opção #
/etc/passwd
, mas não o verifiquei duas vezes.
exec /bin/bash
a ~/.profile
e isso me permitiu entrar directamente para o bash sem fazer quaisquer alterações para o servidor. (O shell padrão original era apenas /bin/sh
)
exit
bash? Você efetuará logout do servidor diretamente ou simplesmente sairá do bash para o sh e outro exit
necessário para efetuar logout do servidor?
Você pode alterar o arquivo passwd diretamente para o usuário específico ou usar o comando abaixo
chsh -s /usr/local/bin/bash username
Depois saia e entre
which bash
antes de chamar o comando acima; sua milhagem pode variar de acordo com a localização. No meu caso, foi encontrado em/bin/bash
chsh
command faz parte do util-linux
pacote; e chsh -s $(which bash) $USER
deve resultar o mesmo que acima.
-l
opção: "imprimir lista de conchas".
chsh -s /bin/bash username
para mim #
Você deve ter um 'esqueleto' em algum lugar /etc
, provavelmente /etc/skeleton
, ou verificar as configurações padrão, provavelmente /etc/default
ou algo assim. Esses são scripts que definem variáveis de ambiente padrão sendo definidas durante um login.
Se for apenas para sua própria conta: verifique o arquivo (oculto) ~/.profile
e ~/.login
. Ou gere-os, se eles não existirem. Eles também são avaliados pelo processo de login.
/etc/default/useradd