42
Sistemas Operacionais II O Shell Bash

Shell Script

Embed Size (px)

DESCRIPTION

Aula de Shell Script parte 2

Citation preview

Page 1: Shell Script

Sistemas Operacionais II

O Shell Bash

Page 2: Shell Script

Objetivos

• Conhecer a sintaxe dos comandos;

• Trabalhar com funções;

• Trabalhar com variáveis;

• Expressões aritméticas;

• Controle de Fluxo.

Page 3: Shell Script

Escape

Page 4: Shell Script

Exemplos

Page 5: Shell Script

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

}

Page 6: Shell Script

Exemplo

#!/bin/bash

#Criei uma funcao

minhaFuncao(){

echo "Apenas uma funcao Teste”

}

#Chamando a funcao de dentro do script

minhaFuncao

Page 7: Shell Script

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).

Page 8: Shell Script

Parâmetros

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

Page 9: Shell Script

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`)"

Page 10: Shell Script

Resultado

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

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

Page 11: Shell Script

Prática N. 02

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

Page 12: Shell Script

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”

Page 13: Shell Script

Prática N. 03

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

Page 14: Shell Script

Variáveis Internas do Shell

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

Page 15: Shell Script

Variáveis Internas do Shell

Page 16: Shell Script

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.

Page 17: Shell Script

Outras variáveis do Shell

Page 18: Shell Script

Array

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

mensagem=(prof wellington pinto de oliveira)

Page 19: Shell Script

Array

mensagem[0]=prof

mensagem[1]=wellington

mensagem[2]=pinto

mensagem[3]=de

mensagem[4]=oliveira

Page 20: Shell Script

Array

Page 21: Shell Script

Prática N. 05

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

Page 22: Shell Script

Operadores

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

Page 23: Shell Script

Operadores

Page 24: Shell Script

Operadores

Page 25: Shell Script

Exemplos

#!/bin/bash

expr 1 + 3

expr 2 – 1

expr 10 / 2

expr 20 % 3

expr 10 \* 3

echo `expr 6 + 3`

Page 26: Shell Script

Prática N. 06

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

Usar os números do seu RA

Page 27: Shell Script

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

Page 28: Shell Script

Exemplo

#!/bin/bash

if [ $# = 0 ]

then

echo "Não existe Argumentos"

else

echo "Existe argumentos"

fi

Page 29: Shell Script

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”.

Page 30: Shell Script

Laço de Repetição

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

Page 31: Shell Script

Sintaxe for

for( inicial; condição; incremento)

do

done

Page 32: Shell Script

Exemplo

#!/bin/bash

meuarray=(wellington pinto de oliveira)

tLen=${#meuarray[@]}

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

do

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

done

Page 33: Shell Script

Sintaxe for

for elemento in coleção

do

done

Page 34: Shell Script

Exemplo

#!/bin/bash

for pessoa in `users`

do

echo $pessoa

done

Page 35: Shell Script

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

Page 36: Shell Script

Prática N 09

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

Page 37: Shell Script

Prática N. 10

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

Page 38: Shell Script

Prática N. 11

Exibir todos os usuários logados no formato:

Usuário: xxxxxx

Onde xxxxx é o login do usuário

Page 39: Shell Script

Prática N. 12

Listar os grupos dos usuários, no formato:

Usuário xxxxx percente aos grupos:

-yyyyy

-yyyyy

Page 40: Shell Script

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

Page 41: Shell Script

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

Page 42: Shell Script

Referência

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