DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

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/





    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



Publicidade
Autor
Ticursos.net - Thiago Glauco

Analista de Sistemas, administrador de redes, Desenvolvedor. Certificação: ITIL Linux+ & LPI Gestor de segurança da informação site: www.ticursos.net. Cursos de C, Perl e Linux


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03