Como saber qual é o shell de script padrão no Centos?

5

Estou usando o Centos 6 e depois de ler sobre diferentes shells e dash implementasion como sh replacement no Debian, Ubuntu e Fedora, resolvi substituir sh com dash como o shell de script em Centos.

Eu não tenho ideia de como ver se isso já está feito, porque tenho sh e dash no meu sistema, então como eu sei qual é o shell de script padrão?

    
por NotFromBrooklyn 20.05.2013 / 11:32

4 respostas

9

Você pode determinar seu shell padrão com o seguinte comando:

grep -- "$LOGNAME" /etc/passwd | awk -F":" '{print $7}'

Na minha máquina, sh é um link para dash , tente:

ls -l "$(which sh)"
    
por 20.05.2013 / 11:42
3

O "script shell" não é o shell de login. É o que quer que esteja rodando como /bin/sh . Observe que muitos derivados de shell Bourne (por exemplo, sh s como bash e dash, e provavelmente também os shell com aparência de shell Korn) se comportam de maneira diferente quando chamados como sh

    
por 20.05.2013 / 14:25
0

No Centos (e sempre em outros linuxes & unices) você pode saber qual é o shell que você está usando fazendo estes comandos:

$ id
uid=501(john1) gid=1000(groupname1) ....

que informa que você está usando o usuário john1 e, em seguida:

$ grep john1 /etc/passwd
john1:x:501:1000:john1,,,:/home/john1:/bin/bash

a última string afther / informa qual é o seu shell de login (neste exemplo é '/ bin / bash')

Para alterar seu shell de login, você pode editar (como usuário root ) essa string em passwd , mas tenha cuidado para não alterar nada mais.

Se você tem uma interface gráfica instalada (como o GNOME ou o KDE), existem outras ferramentas gráficas para alterar essas configurações.

    
por 20.05.2013 / 11:51
-1

a melhor maneira de mudar é usar usermod no Centos

usermod -s /bin/bash username
    
por 09.12.2014 / 08:24