Shell Script

Preview:

DESCRIPTION

Aula de Shell Script parte 2

Citation preview

Sistemas Operacionais II

O Shell Bash

Objetivos

• Conhecer a sintaxe dos comandos;

• Trabalhar com funções;

• Trabalhar com variáveis;

• Expressões aritméticas;

• Controle de Fluxo.

Escape

Exemplos

Funções

Uma função de shell é um grupo de comandos dentro de um script de shell. As funções shell permitem modularizar seu programa, dividindo a complexidade em tarefas atômicas.

nome (){

o script fica aqui dentro

}

Exemplo

#!/bin/bash

#Criei uma funcao

minhaFuncao(){

echo "Apenas uma funcao Teste”

}

#Chamando a funcao de dentro do script

minhaFuncao

Prática N. 01

• Fazer uma função que escreva seu nome e chamar a função.

Todos os exercícios de Script devem ser enviado o script e não o resultado (output).

Parâmetros

Utilizamos $ seguido da posição do parâmetro para capturar seu valor.

Exemplo

#!/bin/bash

#Criei uma funcao

minhaFuncao(){

echo "Apenas uma funcao Teste com parametro $1 e $2”

}

#Chamando a funcao de dentro do script

echo "Exemplo com dois parametros (`minhaFuncao Wellington Oliveira`)"

Resultado

aluno@vml:~/Desktop$ bash executa.sh

Exemplo com dois parâmetros (Apenas uma função Teste com parâmetro Wellington e Oliveira)

Prática N. 02

Fazer uma função para realizar a divisão de um número por outro e retornar o valor.

Variáveis

Variável é um espaço utilizado para armazenar um valor que ainda não se conhece (durante a codificação ou edição de scripts).

Para criar:

var=“Um exemplo”

Para usar:

echo “Estou usando a variavel: $var”

Prática N. 03

Criar um script com uma variável e escrever ela na tela.

Variáveis Internas do Shell

O Shell possui algumas variáveis internas usadas para desenvolver scripts de qualidade.

Variáveis Internas do Shell

Prática N. 04

Fazer um script que utilize todas as variáveis internas do shell, só que por favor, concatenar com texto para ficar show.

Outras variáveis do Shell

Array

Array são coleções de elementos semelhantes.

mensagem=(prof wellington pinto de oliveira)

Array

mensagem[0]=prof

mensagem[1]=wellington

mensagem[2]=pinto

mensagem[3]=de

mensagem[4]=oliveira

Array

Prática N. 05

Fazer um array com seu nome e exibir o primeiro nome e o último nome.

Operadores

O Bash utiliza os operadores aritméticos da linguagem C.

Operadores

Operadores

Exemplos

#!/bin/bash

expr 1 + 3

expr 2 – 1

expr 10 / 2

expr 20 % 3

expr 10 \* 3

echo `expr 6 + 3`

Prática N. 06

Fazer um script que utiliza os operadores (++ -- ** + - / *)

Usar os números do seu RA

Desvio de fluxo

Utilizamos o if para desviar um fluxo dado uma condição.

if condição

then

#bloco se verdade

else

#bloco se falso

fi

Exemplo

#!/bin/bash

if [ $# = 0 ]

then

echo "Não existe Argumentos"

else

echo "Existe argumentos"

fi

Prática N. 07

Se seu RA (registro acadêmico) for par escreva na tela “Meu RA é par” caso contrário escreva na tela “Meu RA é Impar”.

Laço de Repetição

Permite realizar iterações um determinado bloco de script.

Sintaxe for

for( inicial; condição; incremento)

do

done

Exemplo

#!/bin/bash

meuarray=(wellington pinto de oliveira)

tLen=${#meuarray[@]}

for (( i=0; i<${tLen}; i++ ));

do

echo "Parte: ${meuarray[i]} "

done

Sintaxe for

for elemento in coleção

do

done

Exemplo

#!/bin/bash

for pessoa in `users`

do

echo $pessoa

done

Prática N. 08

Fazer um script para listar o diretório corrente de execução e exibir somente os arquivos que são .sh

Prática N 09

Listar o diretório corrente e exibir o nome de todos os arquivos com menos de 10 caracteres (no nome).

Prática N. 10

Listar o diretório Desktop (arquivos e diretórios) e exibir o tipo de arquivo ou diretório.

Prática N. 11

Exibir todos os usuários logados no formato:

Usuário: xxxxxx

Onde xxxxx é o login do usuário

Prática N. 12

Listar os grupos dos usuários, no formato:

Usuário xxxxx percente aos grupos:

-yyyyy

-yyyyy

Prática N. 13

Para cada usuário criar a seguinte arvore de diretórios na posta home (do usuário).~/Faculdade/SistemasOperacionasi

~/Faculdade/LinguagemdeProgramacao

~/Faculdade/InteligenciaArtificial

~/Diversao/Livros

~/Diversao/Trabalhos

~/Diversao/TestesProgramacao

Prática N. 14

Pesquisar na web como usar o comando gzip

Criar um script para compactar a pasta ~ do usuário e salvar em /backup/nomedousuario.gz

Referência

• SILVER, Ellen; LOVE, Robert; ROBBINS, Arnold. Linux: o guia essencial. 5. ed. Porto Alegre: Bookman, 2006.

Recommended