Comando Linux · 3 min read · Sep 15, 2025

Tutorial do Comando chsh no Linux para Iniciantes (5 Exemplos)

O comando chsh (change shell) no Linux é uma ferramenta que permite aos usuários mudar seu shell de login padrão. O shell de login é a interface de linha de comando com a qual os usuários interagem ao fazer login em um sistema semelhante ao Unix. Os shells comuns incluem dash, bash, zsh, ksh e fish.

Antes de mergulhar no comando chsh, é essencial entender o que é um shell de login. O shell de login é o primeiro processo que é executado sob seu ID de usuário quando você faz login. Ele é responsável por inicializar seu ambiente e fornecer uma interface para interagir com o sistema.

Shells Comuns do Linux

  • Bash (Bourne Again Shell): O shell padrão para muitas distribuições Linux, conhecido por sua facilidade de uso e recursos robustos.
  • Zsh (Z Shell): Uma versão estendida do bash com muitos recursos adicionais, como conclusão de tabulação aprimorada e personalização.
  • Ksh (Korn Shell): Um shell que oferece recursos de script encontrados tanto no sh quanto no csh.
  • Fish (Friendly Interactive Shell): Conhecido por seus recursos amigáveis ao usuário, como destaque de sintaxe e sugestões automáticas.
  • Dash: O shell Dash do Linux (dash) é um shell leve, compatível com POSIX, projetado para velocidade e uso mínimo de recursos, frequentemente usado como o shell de script padrão em sistemas baseados em Debian.

O comando chsh do Linux

Como a introdução acima explica, o comando chsh permite que você mude seu shell de login. A seguir está sua sintaxe:

chsh [opções] [LOGIN]

E aqui está o que a página do manual da ferramenta diz sobre isso:

       O comando chsh muda o shell de login do usuário. Isso determina o nome  
       do comando de login inicial do usuário. Um usuário normal pode apenas mudar o  
       shell de login para sua própria conta; o superusuário pode mudar o shell de  
       login para qualquer conta.

A seguir estão alguns exemplos no formato de perguntas e respostas que devem lhe dar uma boa ideia de como o comando chsh funciona.

Q1. Como usar o chsh?

O uso básico é bastante simples - basta executar o comando ‘chsh’ sem argumentos. Você será solicitado a inserir sua senha de login e, após inseri-la com sucesso, terá a opção de mudar seu shell de login.

chsh

Mudar shell para bash no Ubuntu

Observe que o shell de login para o usuário atual é alterado por padrão.

Q2. Como mudar o shell de login usando chsh?

Como você esperaria, basta inserir o novo valor (veja a captura de tela no exemplo anterior) e seu shell será alterado para o novo.

Por exemplo, eu inseri /bin/sh como o novo valor.

Como mudar o shell de login usando chsh

Para verificar a mudança, você pode executar o comando chsh novamente. O valor mostrado entre colchetes é o shell atual. Então, no meu caso, o shell atual se tornou /bin/sh:

Definir novo shell de login

Q3. Como mudar o shell de login para outro usuário?

Para isso, basta especificar o nome de usuário como entrada para o comando chsh.

chsh [nome_de_usuário]

Por exemplo, para mudar o shell de login do root, use chsh da seguinte maneira:

chsh root

Como mudar o shell de login para outro usuário

Q4. Como fazer o chsh rodar em modo não interativo?

Use a opção de linha de comando -s para isso, que requer que um nome de shell seja passado como entrada.

Por exemplo:

chsh -s /bin/sh

Assim, o shell de login para o usuário atual será alterado para /bin/sh de maneira não interativa.

Q5. Como ver uma lista de shells de login disponíveis no sistema?

Para dar uma olhada rápida na lista de shells disponíveis em seu sistema, basta usar o comando cat no arquivo /etc/shells.

Por exemplo, aqui está a saída produzida no meu sistema:

# /etc/shells: shells de login válidos  
/bin/sh  
/bin/bash  
/bin/rbash  
/bin/dash

Nota:

       A única restrição imposta ao shell de login é que o nome do comando  
       deve estar listado em /etc/shells, a menos que o invocador seja o superusuário, e  
       então qualquer valor pode ser adicionado. Uma conta com um shell de login  
       restrito pode não mudar seu shell de login. Por essa razão, colocar /bin/rsh em  
       /etc/shells é desencorajado, pois mudar acidentalmente para um shell restrito  
       impediria o usuário de mudar seu shell de login de volta ao seu valor original.

Conclusão

Então você vê, o comando chsh é uma ferramenta importante que os usuários da linha de comando devem estar cientes. Aqui, neste tutorial, discutimos a maioria das opções de linha de comando que a ferramenta oferece. Para saber mais sobre chsh, acesse sua página de manual.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.