Por que não é recomendável configurar o shell padrão para o uso root para um shell não POSIX?

3

Vou alterar o shell padrão do meu root de bash para fish. Tanto quanto eu sei, o peixe não é um shell padrão POSIX. Por outro lado, talvez o kernel ou outras coisas no sistema tenham uma relação com os padrões POSIX, portanto, configurar o shell padrão do root para um não-POSIX não é recomendável porque pode causar algum problema para minhas partes do sistema operacional. Eu vi pessoas em alguns tópicos que aconselham outros não definem shell padrão para o usuário root para um não-POSIX! Está certo?

Devo alterar meu shell padrão de raiz para não-POSIX ou não? (Eu ficarei feliz se você explicar isso com razões, eu sou um novato em mundos do tipo Unix!)

    
por Cy8099 24.04.2018 / 11:34

1 resposta

1

Tornar o peixe seu shell de login padrão significa que SHELL env var será definido para pescar. Muitos programas (por exemplo, vim, tmux) usam isso como o shell a ser usado para executar comandos do shell, a menos que você os configure explicitamente para usar outro shell (por exemplo, / bin / sh ). Como esses comandos do shell têm uma alta probabilidade de conter a sintaxe do shell POSIX, os comandos não serão executados corretamente pelo fish. Isso significa que você tem mais chances de experimentar problemas aparentemente aleatórios e frustrantes.

Você pode definir peixes como seu shell de login padrão. Eu faço isso nos meus dois computadores principais. Mas eu sou um usuário UNIX experiente que está ciente dos possíveis problemas que isso pode causar. Eu também sei como contorná-los. Por exemplo, adicionando set shell=/bin/sh ao meu arquivo de configuração vimrc. Se você é inexperiente ou simplesmente não quer ter que lidar com a configuração extra que será necessária, é melhor deixar seu shell de login configurado para bash ou algum outro shell POSIX. Em seguida, inicie o peixe desse shell quando estiver no modo interativo. Isso também é mais seguro, porque é mais provável que você estrague sua configuração de peixe de uma maneira que impossibilite iniciar uma sessão interativa de peixes. Se você criou o seu shell de login padrão, não será possível efetuar login.

A conclusão é que, se você for um usuário UNIX CLI inexperiente ou novo para pescar, não o defina como seu shell padrão. Se você é um usuário CLI experiente do UNIX e usa peixe há algumas semanas e tem certeza de que pode configurá-lo corretamente, sinta-se à vontade para torná-lo seu shell padrão.

    
por 24.04.2018 / 18:11