Shell script I
- Objetivo- Entender a estrutura do script;
- Automatizar tarefas;
- Conhecer algumas variáveis importantes;
O que é um script?
Um script é uma sequencia de instruções que são executadas toda vez que o mesmo é chamado. Mas, qual a diferença entre um script e um programa, já que ambos são sequencias de instruções? Um scrip, é um programa não compilado. O processador da máquina só é capaz de executar programas binários, isto é , compilados espeicificamente para ele. Dessa forma, é necessário um programa que interprete esse script, em tem de execução, para que o mesmo possa ser executado. No nosso caso, esse programa será um shell, já que estamos falando de shell scripts.
Estudando um exemplo
# !/bin/bash
# meu primeiro shell script
cd ~
clear
ls -lah
date
cd -
Este é um script bem simples. As linhas que começam pelo simbolo # são comentários, ou seja tudo que aparece depois do # é desprezado.
Mas a primeira linha, que parece um comentário, possui uma característica um tanto estranha. Na verdade, a primeira linha de um script, quando contem em seu inicio a seguencia #! indica qual programa irá interpretar aquele script. No nosso exemplo será o programa /bin/bash, um shell. Mas o script, propriamente dito, executa 4 comandos simples: Acessar o diretório do usuário corrente (cd ~); limpar tela (clear); lista o conteudo (ls -lha), imprimi a data (date) e volta ao diretorio original (cd - ).
Supondo que nosso script denomina-se s1, para podermos executa-lo, devemos executar o comando:
# chmod u+x s1
e em seguida o script:
# ./s1
Lendo parâmetros da linha de comandos.
Em algumas situações, pode ser necessário fornecer parâmetros para um script. Por exemplo, se ao invês de listar o contéudo do diretório pessoal do usuário, quiséssemos que o script listasse o contéudo de um diretório qualquer. Supondo que esse novo script chama-se s2, uma possível forma de utilização do script seria:
# ./s2 /etc
Para passar parâmetros para esse script, precisamos conhecer a função de algumas variáveis: $1,$2. Quando passamos algum parâmetro para o nosso script, esse parâmetro fica armazenado em uma variável especifica. Por exemplo:
# ./script parametro1 parametro2 parametro3
Para conseguirmos resgatar o valor desses parametros, precisamos chamar as variaveis 1,2 e 3 por exemplo:
#!/bin/bash
#
# esse script pega o valor dos parametros e imprimi na tela.
echo $1
echo $2
echo $3
# ./script3 42 the answer
Exercício prático
1- Crie um script shell que mostre uma porção de um arquivo, onde os argumentos seriam:
1 - nome do arquivo
2 - Número da primeira linha mostrada
3 - Numero da ultima linha mostrada
exemplo de uso, supondo o nome do script miolo:
# miolo /etc/passwd 7 18
Como o resultado, as linhas 7 a 18 (inclusive) do arquivo /etc/passwd deve ser mostrada.
Dica1: use os comandos head e tail.
Dica2:Você sabe realizar aritmética de inteiros da shell?
Dica LPI: Para a prova é bom saber a funcionalidade de algumas variáveis!!
0 comentários:
Postar um comentário