Visite também: BR-Linux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais]

Tutoriais/Programacao/shell-shellscript-basico

De UnderLinux Wiki

Tutorial sobre Shell e Shell Script

Introdução

Ao escrever este tutorial, tenho como objetivo dar ao usuário de linux, uma pequena noção sobre este recurso maravilhoso, que são os scripts. Porém esta é a primeira versão (estou escrevendo ainda sobre until,while e for), por mais que tenha revisado, com certeza existiram erros, peço que ao encontrarem alguns enviem-me um e-mail para poder assim melhorar seu conteúdo. Ah!!!! tem aceito elogios e críticas.

Este tutorial pode ser distribuído sobre a GNU - General Public License. Solicito a inclusão de meu nome e e-mail.

Tutorial Shell e Shell Scripts 1.0 Por Márcio Hugo Instrutor - Certificado Conectiva Linux

Tutorial sobre Shell

O que é Shell?

O Shell nada mais é, que o responsável entre a comunicação do usuário com o Kernel do sistema. Para isso, basta que o usuário conheça os comando e sintaxes apropriadas há este Shell.

Agora que já conhecemos alguns comando básicos do Linux é de vital importância, conhecermos o Shell, no qual poderíamos dizer que é o responsável pela Interface por linha de comando (CLI), para quem migra de um outro sistema operacional, está acostumado há um número limitados de comandos, o que já não acontece dentro do mundo Linux. Aqui além de podermos executar os comandos pré estabelecidos, podemos unir, mesclar e criar nossos próprios comandos (Shell Scripts), o que veremos adiante em nosso curso.

Uma outra vantegem é que ao trabalhar com o linux , podemos escolher qual o Shell (interpletador de comandos) queremos trabalhar. Este recurso é nativo ao linux, herdado dos sistemas unix. Abra um terminal e digite o seguinte comando:

#cat /etc/shells

Veja a ilustração abaixo:

Segue abaixo uma breve descrição dos principais Shells disponíveis em uma sistema linux:

  • SH - Bourne Shell - por muitos o Shell original do unix. Porém com recursos muito limitados.
  • CSH - C Shell - Shell desenvolvido para permitir um conjunto de comandos e ambientes de script derivado da linguagem C.
  • KSH - korn Shell - o primeiro Shell a introduzir recursos avançados . Sendo considerado o mais popular em sistemas Unix.
  • BASH - Bourne Again Shell - Shell padrão em distribuições linux, uma implementação do SH, com recursos avançados, tais como: edição de linha de comando, histórico de comandos e término de nomes de arquivos e/ou diretórios.

Verificando o Shell atual

Para verificar o Shell atual. Digite:

#echo $Shell ou #chsh -l

Será listado abaixo:

#/bin/bash

Para alterar o Shell atual, execute o seguinte comando:

#exec tcsh ou #chsh -s /bin/tcsh

Vale lembrar que estas alterações, só terão utilidade nesta sessão ativa, pois ao logar-se novamente no sistema você retornará ao Shell default.

Dica: Para alterar o Shell padrão do usuário, edite o arquivo passwd, no diretório /etc.

O Shell e suas utilizações

O Shell é um programa que é carregado após a verificação de login e senha do usuário, e este permite que você utilize-o de três maneiras distintas:

Utilização interativa

O uso interativo do Shell aguarda que o usuário forneça os comando e assim, o mesmo passam a executá-los.

Personalização de uma sessão

Após o processo de validação, são executados uma série de arquivos (/etc/profile, e , ~/.bash_profile), nos quais serão possíveis definir variáveis de ambiente, e estas podendo variar de usuário para usuário.

Programação

Ao programar em Shell, você poderá agilizar o processo de administração e manutenção de seu sistema, assim um bom admistrador cria e executa (agenda) seus scripts com intuito de melhorar a performance de seu sistema.

Dica: Vale lembrar que recomendamos que você não altere o Shell padrão, pois a formar de declarar variáveis e estruturas de testes podendo variar de Shell para Shell, por isso utilize sempre o BASH.

Recursos comuns

Segue abaixo, uma tabela na qual você verifica os recusos em comum:


No começo você poderá ficar um pouco confuso com estes recursos, porém teremos alguns exercícios para você exercitar.

Operadores lógicos

Agora veremos que é possível testar mais de uma condição ao mesmo tempo. Segue abaixo uma explicação sobre cada uma delas.

Símbolo

image:Tabela-tuto-shell01.jpg

Operador E Lógico

Em uma estrutura if, necessitamos de um resultado verdadeiro ou falso. Agora testaremos duas condições, somente se ambas forem verdadeiras, você será levado para o then, caso alguma seja falso você será levado ao elif. Utlilize && para usar o operador E lógico (and).Veja a tabela abaixo os resultados do E lógico.


Teste

image:Tabela-tuto-shell02.jpg

Operador OU Lógico


Já essa estrutura de teste resulta verdareiro caso qualquer uma das condições sejam verdadeiras, Utlilize || para usar o operador OU lógico (or).Veja a tabela abaixo os resultados do ou lógico.

Teste

image:Tabela-tuto-shell03.jpg

Segue abaixo, um exemplo de um script que utiliza essa estrutura de teste.

Script Utilizando estrutura IF

Verifique na ilustração abaixo, um exemplo bem simples de como você poderá utilizar esta estrutura tão poderosa.

Script utilizando estrutura Case

Verifique na ilustração abaixo, um exemplo bem simples de como você poderá utilizar esta estrutura tão poderosa.

Dica: para pausar a execução do script por um determinado tempo use o comando sleep x (onde x é a quantidade de segundo que você deseja pausar). Para sair do script em um determinado local digite exit 0.

Exercícios

Crie um script, que ao ser executado liste as seguintes opções:

  • Adicionar Usuário.
  • Remover Usuário


Dica: Ao adicionar o usuário deverá ser solicitado nome do usuário, diretório home e senha. Ao remover será solicitado o nome do usuário e todos os dados do mesmos devem ser excluídos também.


Crie um script, que ao ser executado liste as seguintes opções:


Crie um arquivo como base de dados, contendo nome e telefone.

  • Para adicionar novo nome e telefone
  • Para excluir
  • Para consultar
  • Para organizar

Crie um script, que ao ser executado liste as seguintes opções:

  • Faça backup de todo o diretório /home/usuário (empacotado e compactado), para seu primeiro dispositivo de fita dat, e solicite o nome do arquivo a ser criado
  • Restaure todo o conteúdo deste diretório. Sendo que esta opção lista o conteúdo da fita e solicita o nome do arquivo a ser restaurado.

Verifique o conteúdo de sua fita dat.

Crie um script, que ao ser executado liste as seguintes opções:

Solicite o nome do diretório desejado, entre nesse diretório e liste seu contéudo.

1- Solicita o nome do arquivo a ser impresso.

2 - Solicita o nome do arquivo a ser editado.

3 - Solicita o nome do arquivo a ser excluído.

4 - Para sair do script.