Converte de tcsh para bash

1

Assim como o título sugere, estou tentando converter de um tcsh para bash. Coisas que tentei:

chsh

chsh -s /bin/bash

chsh: can only change local entries; use ypchsh instead

ypchsh

ypchsh /bin/bash

ypchsh: can't get local yp domain: Local domain name not set

Descobri que não tenho acesso ao sudo depois de tentar

sudo -s /bin/bash *username*

Então eu tentei criar um arquivo .cshrc:

echo "I exist in .cshrc"

setenv SHELL /bin/bash
exec /bin/bash --login

No entanto, quando faço isso, não consigo fazer login na minha conta. Eu digitei meu nome de usuário e senha e parece que está me registrando, mas em vez disso, ele me leva de volta para a tela de login.

Eu sei que tem algo a ver com as duas últimas linhas, e não o arquivo em geral, porque eu testei novamente com apenas o comando echo e não tive problemas. Qualquer ajuda seria muito apreciada.

    
por Charles Stapleford 17.01.2017 / 16:37

1 resposta

1

Então, descobri que o erro estava vindo da linha exec /bin/bash --login . Quando eu removi que o computador funcionou bem e eu estava no bash; no entanto, ele não estava executando meu arquivo de inicialização do bash que tinha várias bibliotecas diferentes de que eu precisava. Ainda não tenho certeza de como fazer isso carregar (sem executar manualmente exec bin/bash ) na máquina original, mas na verdade eu executo em um servidor da universidade, então editei o .cshrc para o seguinte:

echo "I exist in .chshrc"

setenv SHELL /bin/bash
if ($HOSTNAME = *server name*) then
    exec /bin/bash
end if

Isso parece ter resolvido meus problemas específicos com isso, embora eu duvide que esta seja uma solução geral para qualquer um que tenha esse problema.

    
por 17.01.2017 / 17:28

Tags