Qual é a diferença entre 'chsh -s' e 'export SHELL'?

1

Acho que o comando export está ativo apenas por sessão de login, mas não tenho certeza. chsh eu acho que é mais permanente. Alguém pode esclarecer isso para mim (de preferência com links / docs)? Obrigado.

    
por Kevin Suttle 27.09.2013 / 22:19

1 resposta

5

chsh é geralmente o que você deseja usar se quiser alterar seu escudo habitual. Ele atualiza /etc/passwd para que seu shell recém-selecionado seja iniciado em cada login futuro.

export SHELL não faz nada sozinho. A variável SHELL é às vezes usada por programas que desejam gerar um shell externo (por exemplo, para lhe dar uma linha de comando em um determinado diretório, ou com determinadas variáveis de ambiente pré-definidas). Se você deseja executar outro shell temporariamente, você normalmente o executaria diretamente como qualquer outro programa. Por exemplo, se o seu shell normal for /bin/bash , mas você quiser testar algo com /bin/tcsh , apenas emita /bin/tcsh na linha de comando do bash.

    
por 27.09.2013 / 22:40