Por que não posso adicionar fish ao / etc / shells?

3

Estou tentando usar o fish shell como meu shell padrão no OSX. Eu instalei shell de peixe usando brew e quando eu queria adicioná-lo para /etc/shells eu tenho esse erro:

tee: /etc/shells: No such file or directory

Aqui está a linha de comando que usei:

echo "usr/local/bin/fish" | sudo tee -a /etc/shells

Fonte: link

Há algo errado com meu $PATH ?

    
por Lokman Boukhoulda 11.07.2018 / 05:08

1 resposta

4

Você está fazendo errado. Você deve estar usando o comando chsh para alterar o shell do usuário.

$ chsh -s /usr/local/bin/fish

OSX

No OSX, você aparentemente tem que adicionar isso ao arquivo /etc/shells , conforme descrito nesta edição, intitulado: OS X se recusa a definir peixes como shell padrão (instalado via Homebrew) # 989 .

Para fazer isso, você precisa executar este comando para adicioná-lo a /etc/shells :

$ echo "/usr/local/bin/fish" | sudo tee -a /etc/shells

Depois disso, esse arquivo ficará assim:

$ cat /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/bash
/usr/local/bin/fish

Com o acima completo, tente o comando chsh -s ... novamente e ele deve funcionar.

Por quê?

Esse problema parece surgir com a forma como fish foi instalado. Se você usa brew install fish , é provável que fish tenha sido adicionado corretamente a /etc/shells . Se você instalar o fish por algum outro meio, é provável que ele não tenha sido incluído como uma entrada no arquivo /etc/shells .

Problema secundário

Em alguns casos, as permissões do próprio /etc podem ser o problema.

$ ll /etc
lrwxr-xr-x@ 1 root  wheel    11B Jan 26  2016 /etc -> private/etc

$ ll -d private/etc/
drwxr-xr-x  96 root  wheel   3.2K Jul 12 18:53 private/etc/

Essas permissões são aceitáveis, se não forem, você pode modificá-las assim:

$ sudo mount -uw / 
$ sudo chmod a+x private/etc

Com as alterações acima, chsh -s ... deve funcionar agora.

Referências

por 11.07.2018 / 05:22