Um shell é um software que fornece uma interface para usuários(as). Atualmente, o termo shell é utilizado principalmente para interfaces de linha de comando. Por contraste, um shell gráfico é um termo raramente usado para um Ambiente de Área de Trabalho.
Shell interativo
Um shell interativo é usado por usuários(as) em um console virtual ou em um emulador de terminal.
O Debian usa Bash como o shell interativo padrão para contas de usuário(a) normais (aqueles(as) com um UID >= 1000). O shell padrão atribuído a novas contas de usuário(a) pode ser alterado a qualquer momento editando o arquivo /etc/adduser.conf.
Debian uses Bash as the default interactive shell for normal user accounts (those with a UID ⩾ 1000). The default shell assigned to new usesr accounts can be changed at any time by editing the file /etc/adduser.conf.
Para alterar o shell interativo padrão para o(a) usuário(a) atual:
Verifique quais shells estão instalados: cat /etc/shells
Defina o novo shell do(a) : chsh
Shell não interativo
Um shell não interativo é usado para executar scripts. Não se destina a ser usado interativamente por um(a) usuário(a), por exemplo, em um emulador de terminal, mas concentra-se em velocidade e compatibilidade com padrões.
O shell não interativo padrão em ambientes POSIX é um executável localizado no sistema de arquivos em /bin/sh, que é um link simbólico para o shell padrão. A maioria dos scripts do sistema usa esse shell, via #!/bin/sh shebang. Alterar o shell não interativo padrão de um sistema é simplesmente uma questão de alterar esse link simbólico para atingir um executável diferente.
Em todas as versões até, e incluindo, o DebianLenny, Bash era o shell não interativo padrão. Começando com o DebianSqueeze, o Debian usa o Dash (o shell Debian Almquist) como alvo do link simbólico /bin/sh. Dash não tem muitos dos recursos que se esperaria de um shell interativo, o que permite que seja mais rápido e mais eficiente em termos de memória do que o Bash.
Do DebianSqueeze ao DebianBullseye, foi possível selecionar o Bash como alvo do link simbólico /bin/sh, executando dpkg-reconfigure dash. No entanto, a partir do DebianBookworm, isso não é mais suportado.
Outros shells
O Debian fornece muitos e diferentes shells. Alguns shells de destaque incluem:
Bash - Um shell muito poderoso, com interface interativa muito boa.
Dash - Um shell rápido, em conformidade com a Política Debian §10.4 e a Especificação Única do Unix (Single UNIX Specification).
mksh - A fast Korn shell, similarly compliant with Debian Policy § 10.4 and the Single UNIX Specification |
|
zsh - Outro shell poderoso. (veja a documentação oficial) |
|
fish - Outro shell interativo e amigável. |
|
tcsh - uma versão melhorada do csh da Berkeley. |
|
busybox - Um shell pequeno, usado no initrd e no InstaladorDebian. |
|
csh e tcsh devem ser evitados como linguagens de script; veja "Por quê não devo programar em csh?" por Tom Christiansen, postado em 28 de setembro de 1995. (arquivado na Wayback Machine) |
|
ash substituído pelo Dash no Debian desde DebianSarge |
|
ksh - A versão AT&T do Korn shell. |
|
rc - implementação do shell Plan 9 da AT&T. |
|
rush - restricted user shell |
Veja também
https://en.wikipedia.org/wiki/Comparison_of_command_shells - Comparação de shells de linha de comando (em inglês)
https://wiki.archlinux.org/index.php/Command-line_shell - Shell de linha de comando no wiki do Arch Linux (em inglês)
"Diferenças entre shells UNIX e como alterar seu shell" por Brian Blackmore, por volta de dezembro de 1998 (arquivado na Wayback Machine)
CategoryCommandLineInterface | CategorySoftware | CategorySystemAdministration
