Como funciona o Shell - Linux Shell Essentials - Parte 2
Depois de aprender o que é um shell chegou a hora de aprender como ele funciona e como utilizar o mesmo.
É muito importante saber operar o Shell no mundo Unix e Linux. No mundo Linux o shell mais popular é o Bash. No mundo Unix o Ksh ainda tem muita importância. Historicamente os principais Shells são: Bourn Shell ou sh; C Shell ou csh; Korn Shell ou ksh; Bourn Again Shell ou bash;
Inicialmente os sistemas Unix usavam o sh como linguagem de programação e interpretação de comandos. O sh introduziu a possibilidade de declaração de variáveis e estruturas de decisão em um interpretador de comandos. Posteriormente foi desenvolvido o csh, cuja a estrutura de programação era semelhante ao C, muito utilizado no desenvolvimento Unix até os dias de hoje.
Exemplos de código em sh e csh para comparação:
#!/bin/sh
if [ $days -gt 365 ]
then
echo This is over a year.
fi
#!/bin/csh
if ( $days > 365 ) then
echo This is over a year.
endif
#!/bin/sh
i=2
j=1
while [ $j -le 10 ]; do
echo '2 **' $j = $i
i=`expr $i '*' 2`
j=`expr $j + 1`
done
#!/bin/csh
set i = 2
set j = 1
while ( $j <= 10 )
echo '2 **' $j = $i
@ i *= 2
@ j++
end
O ksh surgiu de uma implementação onde David Korn tentou unir as qualidades do csh e do sh em um único shell além de adicionar aritmética de ponto flutuante e estrutura de arrays associativos, tornando-se muito popular em sistemas Unix como Solaris, True64 e AIX.
O bash surgiu como uma implementação mais atual do Bourn Shell, com aritmética em diversas bases, arrays de tamanho ilimitado, funções e diversas outras facilidades ao programador/administrador de sistemas.
Você pode aprender mais sobre o bash em http://www.gnu.org/software/bash/ e sobre o ksh em http://www.kornshell.com/.
Todo shell moderno deve atender ao padrão POSIX 1003.2 "Shell and Utilities Language Committee". As principais características dos modernos Shells são:
· Controle de Jobs;
· Funções;
· Alias;
· Redirecionamento;
· Histórico de comandos;
· Editor de comandos;
· Auto-Completar;
O Bash, como hell padrão do projeto GNU atende a todos estes requisitos do padrão Posix e as qualidades de um shell moderno listadas acima.
Usando o shell em sistemas Linux.
Apesar do Bash ser o shell padrão do Linux, diversos outros podem existir na instalação. O shell padrão de cada usuário é definido no arquivo /etc/passwd:
$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
thiago:x:500:500::/home/thiago:/bin/bash
$
E também pode ser visto na variável de ambiente SHELL:
$ echo "Minha shell eh: $SHELL"
Minha shell eh: /bin/bash
$
Se você, por alguma razão, preferir outro shell ao bash pode alterar o shell padrão do seu usuário com o comando chsh:
$chsh thiago
Alterando o interpretador de comandos para o usu��ário thiago.
Senha:
Novo interpretador de comandos [/bin/bash]: /bin/ksh
Interpretador de comandos alterado.
Depois saia do shell com o comando logout e log no sistema novamente. Veja o seu novo shell:
$ echo $SHELL
/bin/ksh
$
E no arquivo /etc/passwd
$ grep thiago /etc/passwd
thiago:x:500:500::/home/thiago:/bin/ksh
$
Veja na próxima parte os seguintes tópicos : Arquivos de Configuração do BASH, Ordem de leitura dos arquivos, Executando comandos no Bash.
fique antenado ao mundo Perl e Linux: http://ticursos.net/noticias/

Space do autor


0
0
