Como mudar de csh para bash como shell padrão

30

Eu tenho csh como meu shell padrão, conforme mostrado por echo $SHELL . Eu quero mudar para bash como meu shell padrão. Eu tentei as seguintes abordagens sem sucesso:

  1. Com chsh , obtenho:

    chsh: can only change local entries; use ypchsh instead.
    
  2. Com ypchsh , obtenho:

    ypchsh: yppasswdd not running on NIS master host ("dcsun2").
    

Eu tenho apenas .chsrc no meu diretório pessoal e não consigo encontrar nenhum arquivo .profile em /etc . Como posso alterar meu shell padrão para bash ?

    
por Sumod 13.09.2011 / 17:27

2 respostas

39
  1. Verifique se você tem bash instalado.

  2. Saiba a localização de bash :

    which bash
    

    ou

    whereis bash
    

    Abaixo, assumirei que a localização é /bin/bash .

    a) Se você tiver direitos administrativos, apenas execute como root:

    usermod -s /bin/bash YOUR_USERNAME
    

    (substituindo YOUR_USERNAME pelo seu nome de usuário).

    b) Se você não tem adm. direitos, você ainda pode apenas executar bash --login no login, colocando a linha abaixo no final do seu .cshrc ou .profile (em seu diretório inicial):

    setenv SHELL /bin/bash
    exec /bin/bash --login
    
por 13.09.2011 / 18:13
13

Entre em contato com o administrador do sistema. Ele definiu as coisas errado. Se você for o administrador do sistema, você configurará as coisas errado.

A mensagem de erro parece bastante direta. Você não tem yppasswd em execução no dcsun2. Deve ser.

Mas fazer uma pesquisa rápida no google vem com esse resultado que indica que você obterá este erro se yppasswd estiver sendo executado no cliente e no servidor. Neste caso, desligue-o no cliente.

Se você está preso com csh como seu shell de login, você ainda pode fazê-lo invocar bash quando você efetuar login. Coloque os seguintes comandos em seu ~/.login (veja também Alterando o shell padrão sem chsh ou privilégios de administrador ):

sleep 2
if (-x /usr/local/bin/bash) then
  exec /usr/local/bin/bash -l
endif

Substitua /usr/local/bin/bash pelo caminho apropriado, se necessário. Se tudo funcionar, remova sleep 2 (o que coloca um atraso durante o qual você pode pressionar Ctrl+C para baixar para um prompt csh, no caso de algo dar errado).

    
por 13.09.2011 / 17:45

Tags