“chsh: opção inválida - 'l'”

2

Eu instalei o Zsh por meio da execução:

sudo apt-get install zsh

Usando o seguinte guia para instalar o Zsh fornecido por oh-my-zsh I tentou configurá-lo como meu shell padrão, ou seja, eu corri:

chsh -s $(chsh -l | grep "zsh" -m 1)

que me deu o erro:

chsh: invalid option -- 'l'

eu corri:

sudo gedit /etc/shells

para que eu pudesse checar se o zsh estava listado lá e foi. Eu também tentei a resposta de Florian para uma pergunta anterior, a saber: chsh -s /bin/zsh but echo $SHELL ainda retornou a mesma saída:% código%. /bin/bash existe no meu sistema se você está se perguntando, já que eu testei isso executando /bin/zsh que iniciou o Zsh.

    
por BH2017 13.06.2015 / 07:51

1 resposta

3

você pode fazer isso usando

chsh -s /bin/zsh

Ele solicitará que você insira sua senha. Seu shell de login padrão é / bin / zsh agora.

man chsh

The chsh command changes the user login shell. This determines the name of the users initial login command. A normal user may only change the login shell for her own account, the superuser may change the login shell for any account

Este comando irá alterar o shell de login padrão permanentemente.

Por que o $ SHELL não muda?!

A variável SHELL é definida pelo processo que faz o seu login. Ela é configurada para o valor do shell de login definido no arquivo passwd (/ etc / passwd). Não é para refletir o shell que você está usando atualmente.

Para imprimir o shell em uso, você precisa executar

 echo $0 

Isso mostrará o nome do shell usado.

Então, como alterar o Login Shell

use o comando chsh sem opções

$ chsh 
Password: 

Changing the login shell for maythux
Enter the new value, or press ENTER for the default
    Login Shell [/bin/bash]: 

você pode inserir agora seu /bin/zsh .

Agora faça o logout e faça login novamente

$ echo $SHELL

/bin/zsh
    
por Maythux 13.06.2015 / 08:15