O shell padrão do sistema é diferente do shell do usuário. No meu sistema, dash
é o padrão do sistema, mas eu uso bash
quando efetuo login:
anthony@Zia:~$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Mar 1 2012 /bin/sh -> dash
Assim, um script de shell com #!/bin/sh
up top é executado com traço.
Parece que seu sistema tem metade e meia, onde o link simbólico / bin / sh e manpage ficou fora de sincronia. O link simbólico do manpage no meu sistema é:
anthony@Zia:~$ ls -l /usr/share/man/man1/sh.1.gz
lrwxrwxrwx 1 root root 9 Mar 1 2012 /usr/share/man/man1/sh.1.gz -> dash.1.gz
Se você alterou manualmente o / bin / sh, também terá que alterar esse. Possivelmente há um erro ao lidar com esses links simbólicos também; mpy aponta Bug # 662159 .
Cada usuário tem uma configuração para qual shell invocar no login. Essa é uma configuração por usuário, armazenada em /etc/passwd
, portanto, a página do sistema em todo o sistema não pode refletir isso. Cada usuário pode alterar sua configuração de shell executando chsh
(e, é claro, o root pode alterar as configurações de shell de outros usuários).
Há também uma variável de ambiente SHELL
, que é definida no login, mas pode ser alterada. Geralmente, ele substitui o campo do shell em /etc/passwd
para quando, por exemplo, xterm
precisa iniciar um shell.