Thanks to visit codestin.com
Credit goes to pt.scribd.com

0% acharam este documento útil (0 voto)
14 visualizações15 páginas

Shell Script

O documento é um curso introdutório sobre programação em Shell Script, abordando conceitos básicos como variáveis, passagem de parâmetros, e estruturas condicionais. Ele também detalha a sintaxe de comandos como 'if', 'case', 'while' e 'for', além de exemplos práticos de scripts. O curso enfatiza a automação de tarefas e a manipulação de dados, incluindo testes com expressões inteiras, strings e arquivos.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
14 visualizações15 páginas

Shell Script

O documento é um curso introdutório sobre programação em Shell Script, abordando conceitos básicos como variáveis, passagem de parâmetros, e estruturas condicionais. Ele também detalha a sintaxe de comandos como 'if', 'case', 'while' e 'for', além de exemplos práticos de scripts. O curso enfatiza a automação de tarefas e a manipulação de dados, incluindo testes com expressões inteiras, strings e arquivos.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 15

Licensed to sandro henrique antunes ribeiro - santunesribeiro@outlook.

com

Curso Programação Shell Script - Start

Iniciando com programação Shell Script

Iniciando:
Podem também atribuir valores a variáveis de ambiente ou realizar uma determinada tarefa,
de acordo com os parâmetros de entrada

Apesar da ideia ser simples, esses scripts podem se tornar bem complexos, dependendo da
tarefa que se deseja automatizar e simplificar.

Um script pode ser uma sequência de comandos utilizados frequentemente por um


determinado usuário, no formato de um arquivo texto.

Scripts shell são úteis para automatizar uma determinada sequência de comandos

Passando parâmetros para um Shell Script


Uma característica importante nos scripts é a possibilidade de passar parâmetros através
da linha de comando

Esta habilidade permite que sejam passados dados, nomes de arquivos, diretórios, etc, para
serem manipulados pelo programa.

Todos‌‌os‌‌direitos‌‌reservados:‌‌P.D.‌‌Tecnologia‌‌-‌‌
Profissionais‌‌Linux:‌‌https://profissionaislinux.com.br‌‌
Página:‌‌1
Licensed to sandro henrique antunes ribeiro - [email protected]

Curso Programação Shell Script - Start

Condições em Shell Script – Trabalhando com expressões


Inteiras
Construções condicionais ou de decisão são declarações que fazem com que determinados
códigos sejam executados dependendo de uma decisão.

Estas estruturas são m uito im portante pois permitem que sejam tomadas algumas
decisões durante a execução de um script.

As expressões de teste são comparáveis a expressões de comparação de outras


linguagens de programação.

Estas expressões executam testes matemáticos, booleanos e outros testes que indicam um
estado de verdadeiro ou falso, dependendo da saída.

Para cada tipo diferente de dados, existem operadores diferentes a serem utilizados

As expressões inteiras são aquelas que utilizam os operadores disponíveis para realizar
testes com dados inteiros. ( com números )

Condições em Shell Script – Trabalhando com expressões


do tipo String
Construções condicionais ou de decisão são declarações que fazem com que determinados
códigos sejam executados dependendo de uma decisão.

Todos‌‌os‌‌direitos‌‌reservados:‌‌P.D.‌‌Tecnologia‌‌-‌‌
Profissionais‌‌Linux:‌‌https://profissionaislinux.com.br‌‌
Página:‌‌2
Licensed to sandro henrique antunes ribeiro - [email protected]

Curso Programação Shell Script - Start

Estas estruturas são muito importante pois permitem que sejam tomadas algumas decisões
durante a execução de um script.

As expressões de teste são comparáveis a expressões de comparação de outras


linguagens de programação.

Estas expressões executam testes matemáticos, booleanos e outros testes que


indicam um estado de verdadeiro ou falso, dependendo da saída.

Para cada tipo diferente de dados, existem operadores diferentes a serem utilizados

As expressões e strings pode fazer testes para determinar se as strings são iguais,
diferentes, de tamanho igual a zero ou valores nulos (vazias ou não inicializadas).

O bash faz a distinção entre strings de tamanho zero e vazias.

Condições em Shell Script – Trabalhando com expressões


de Arquivos
Construções condicionais ou de decisão são declarações que fazem com que determinados
códigos sejam executados dependendo de uma decisão.

Estas estruturas são m uito im portante pois permitem que sejam tomadas algumas
decisões durante a execução de um script

As expressões de teste são comparáveis a expressões de comparação de outras


linguagens de programação.

Estas expressões executam testes matemáticos, booleanos e outros testes que indicam um
estado de verdadeiro ou falso, dependendo da saída.

Para cada tipo diferente de dados, existem operadores diferentes a serem utilizados

Todos‌‌os‌‌direitos‌‌reservados:‌‌P.D.‌‌Tecnologia‌‌-‌‌
Profissionais‌‌Linux:‌‌https://profissionaislinux.com.br‌‌
Página:‌‌3
Licensed to sandro henrique antunes ribeiro - [email protected]

Curso Programação Shell Script - Start

As expressões que testam arquivos podem verificar algumas informações sobre um


determinado arquivo ou compará-las com um segundo arquivo.

Com o existem diversos operadores para trabalhar com arquivos, a seguir na tabela serão
apresentados apenas os mais comuns.

Condições em Shell Script – Trabalhando com expressões


Booleanas

Construções condicionais ou de decisão são declarações que fazem com que determinados
códigos sejam executados dependendo de uma decisão.

Estas estruturas são muito importante pois permitem que sejam tomadas algumas decisões
durante a execução de um script.

As expressões de teste são comparáveis a expressões de comparação de outras


linguagens de programação.

Estas expressões executam testes matemáticos, booleanos e outros testes que indicam um
estado de verdadeiro ou falso, dependendo da saída.

Para cada tipo diferente de dados, existem operadores diferentes a serem utilizados
As expressões de teste suportam os operadores booleanos AND, OR e NOT.

Veja a tabela a seguir:

Todos‌‌os‌‌direitos‌‌reservados:‌‌P.D.‌‌Tecnologia‌‌-‌‌
Profissionais‌‌Linux:‌‌https://profissionaislinux.com.br‌‌
Página:‌‌4
Licensed to sandro henrique antunes ribeiro - [email protected]

Curso Programação Shell Script - Start

Trabalhando com declaração “If” em Shell Script

A declaração if executa determinadas linhas de comando, dependendo de uma expressão


condicional ser verdadeira ou falsa.

A sintaxe da declaração if é mostrada a seguir:

if [comandos_de_teste]; then
comandos_consequentes;
if

if [comandos_de_teste]; then
comandos_consequentes;
else
comandos_alternativos;
fi

if [comandos_de_teste]; then
comandos_consequentes;
elif [mais_comandos_de_teste]; then
mais_comandos_consequentes;
else
comandos_alternativos;
fi

Todos‌‌os‌‌direitos‌‌reservados:‌‌P.D.‌‌Tecnologia‌‌-‌‌
Profissionais‌‌Linux:‌‌https://profissionaislinux.com.br‌‌
Página:‌‌5
Licensed to sandro henrique antunes ribeiro - [email protected]

Curso Programação Shell Script - Start

Trabalhando com declaração “case” em Shell Script

Outro comando de estrutura condicional muito utilizado é o case; sua sintaxe básica está
representada a seguir.

case palavra in
Padrão [|1 padrão]...) comandos;;
esac

Trabalhando com declaração “while” em Shell Script


É usada para repetir comandos até que uma dada condição seja avaliada como falsa. É
usada quando não é possível prever ou calcular quantas repetições o loop deve executar.

while expressão
do
Comandos
done

Trabalhando com declaração “for” em Shell Script


A declaração for é utilizada basicamente para repetir comandos;

Isto quer dizer que este comando pode ser utilizado para percorrer listas de palavras e
par a pr oce ss ar cada palavra em sequência.

Isto é útil porque o controle de listas gera muito trabalho; os argumentos de linha de
comandos são um bom exemplo de listas de strings.

Abaixo pode-se verificar a estrutura do comando for.

for name [ in word; ]


do
lists;
done

hora.sh

Todos‌‌os‌‌direitos‌‌reservados:‌‌P.D.‌‌Tecnologia‌‌-‌‌
Profissionais‌‌Linux:‌‌https://profissionaislinux.com.br‌‌
Página:‌‌6
Licensed to sandro henrique antunes ribeiro - [email protected]

Curso Programação Shell Script - Start

#!/bin/bash

HORA=`date +'%H'`
MIN=`date +'%M'`

echo "------------------------------------------- "


echo "Agora sao $HORA horas e $MIN minutos. OK?"
echo "------------------------------------------- "

meu.sh

#!/bin/bash

HR=`date +'%H'`
MIN=`date +'%M'`
MEN='Fim de Script'

echo "---------------------------------------"
echo "O nome da sua conta e: `whoami`"
echo "---------------------------------------"
echo "Agora sao $HR horas e $MIN minutos"
echo "---------------------------------------"
echo "O diretorio que voce esta agora: `pwd`"
echo "---------------------------------------"
echo "Os arquivos desse diretorio sao: `ls`"
echo "---------------------------------------"
echo $MEN

string.sh

#!/bin/bash

TEXTO='Meu texto'

# String nao nula

se [ "$TEXTO" ]; entao

Todos‌‌os‌‌direitos‌‌reservados:‌‌P.D.‌‌Tecnologia‌‌-‌‌
Profissionais‌‌Linux:‌‌https://profissionaislinux.com.br‌‌
Página:‌‌7
Licensed to sandro henrique antunes ribeiro - [email protected]

Curso Programação Shell Script - Start

echo "A string existe";

fim

echo "-----------------------"

if [ "$TEXTO" ]; then

echo "A string existe"

fi

echo "-----------------------"

# Verifica string tamanho zero

se [ -z "$TEXTO" ]; entao

echo "A string tem tamanho zero";

fim

echo "-----------------------"

if [ -z "$TEXTO" ]; then

echo "A string tem tamanho zero";

fi

echo "-----------------------"

# Verifica se string tem tamanho diferente de zero

se [ -n "$TEXTO" ]; entao

echo "A string tem tamanho diferente de zero";

fim

if [ -n "$TEXTO" ]; then

echo "A string tem tamanho diferente de zero";

fi

Todos‌‌os‌‌direitos‌‌reservados:‌‌P.D.‌‌Tecnologia‌‌-‌‌
Profissionais‌‌Linux:‌‌https://profissionaislinux.com.br‌‌
Página:‌‌8
Licensed to sandro henrique antunes ribeiro - [email protected]

Curso Programação Shell Script - Start

echo "-----------------------"

# Verifica se string e igual a outra string

se [ "$TEXTO" = "Pedro Delfino" ]; entao

echo "A string tem o mesmo valor da outra";

fim

echo "-----------------------"

if [ "$TEXTO" = "Pedro Delfino" ]; then

echo "A string tem o mesmo valor da outra";

fi

echo "-----------------------"

# Verifica se string e diferente de outra string

se [ "$TEXTO" != "Pedro Delfino" ]; entao

echo "A string e diferente da outra";

fim

if [ "$TEXTO" != "Pedro Delfino" ]; then

echo "A string e diferente da outra";

fi

inteiros.sh

#!/bin/bash

X=1

Todos‌‌os‌‌direitos‌‌reservados:‌‌P.D.‌‌Tecnologia‌‌-‌‌
Profissionais‌‌Linux:‌‌https://profissionaislinux.com.br‌‌
Página:‌‌9
Licensed to sandro henrique antunes ribeiro - [email protected]

Curso Programação Shell Script - Start

Y=2
# $X = $Y
#se [$X -eq $Y ]; entao
# echo "X e igual a Y";
#fim

if [$X -eq $Y ]; then


echo "X e igual a Y";
fi

echo "---------------------------------"

# $X <> $Y
#se [$X -ne $Y ]; entao
# echo "X e diferente de Y";
#fim

if [$X -ne $Y ]; then


echo "X e diferente de Y";
fi

echo "---------------------------------"

# $X >= $Y
se [$X -ge $Y ]; entao
echo "X e maior e igual a Y";
fim

if [$X -ge $Y ]; then


echo "X e maior e igual a Y";
fi

echo "---------------------------------"

# $X > $Y
se [$X -gt $Y ]; entao
echo "X e maior do que o Y";
fim

if [$X -gt $Y ]; then


echo "X e maior do que o Y";
if

echo "---------------------------------"

Todos‌‌os‌‌direitos‌‌reservados:‌‌P.D.‌‌Tecnologia‌‌-‌‌
Profissionais‌‌Linux:‌‌https://profissionaislinux.com.br‌‌
Página:‌‌10
Licensed to sandro henrique antunes ribeiro - [email protected]

Curso Programação Shell Script - Start

# $X <= $Y
se [$X -le $Y ]; entao
echo "X menor ou igual a Y";
fim

if [$X -le $Y ]; then


echo "X menor ou igual a Y";
fi

echo "---------------------------------"

# $X < $Y
se [$X -lt $Y ]; entao
echo "X menor do que Y";
fim

if [$X -lt $Y ]; then


echo "X menor do que Y";
if

echo "---------------------------------"

agenda.sh

#/bin/bash

grep -i $1 agenda.dat

agenda-plus.sh

#/bin/bash

echo -n "Nome a procurar:"

read NOME

echo " ----------------------"


grep -i $NOME agenda.dat
Todos‌‌os‌‌direitos‌‌reservados:‌‌P.D.‌‌Tecnologia‌‌-‌‌
Profissionais‌‌Linux:‌‌https://profissionaislinux.com.br‌‌
Página:‌‌11
Licensed to sandro henrique antunes ribeiro - [email protected]

Curso Programação Shell Script - Start

echo " ----------------------"

boleanos.sh

#!/bin/bash

X=1

# EXPRESSAO NOT
se [ !$X = 1 ]; entao

echo "X nao e igual 1"

fim

if [ !$X = 1 ]; then

echo "X nao e igual 1"

fi
echo " ------------------------- "

# expressao com AND


se [$X] && [$X > 0]; entao

echo "OK X existe"

fim

if [$X] && [$X > 0]; then

echo "OK X existe"

fi

echo " ------------------------- "


# expressao com OR
se [$X = 1] || [$X = 0]; entao

echo "OK X existe e pode ser =1 ou =0"

Todos‌‌os‌‌direitos‌‌reservados:‌‌P.D.‌‌Tecnologia‌‌-‌‌
Profissionais‌‌Linux:‌‌https://profissionaislinux.com.br‌‌
Página:‌‌12
Licensed to sandro henrique antunes ribeiro - [email protected]

Curso Programação Shell Script - Start

fim

if [$X = 1] || [$X = 0]; then

echo "OK X existe e pode ser =1 ou =0"

fi

declaracao-if-1.sh

#!/bin/bash

X=$1

#$X = 1
if [ $X -eq 1 ]; then

echo "OK X = 1";

else

echo "OPA! X nao e igual a 1";

fi

declaracao-if-2.sh

#!/bin/bash

X=$1

# #X = 1
if [ $X -eq 1 ]; then

echo "Ok! X = 1";

#X <> 2
elif [ $X -ne 2 ]; then
Todos‌‌os‌‌direitos‌‌reservados:‌‌P.D.‌‌Tecnologia‌‌-‌‌
Profissionais‌‌Linux:‌‌https://profissionaislinux.com.br‌‌
Página:‌‌13
Licensed to sandro henrique antunes ribeiro - [email protected]

Curso Programação Shell Script - Start

echo "OPA! X direrente de 2";

else

echo "IXI! X nao e 1 e nem diferente de 2";

fi

declaracao-case-1.sh

#!/bin/bash

echo -n "Digite um numero entre 1 e 9:"


read NUMERO

case $NUMERO in
1 | 3 | 5 | 7 | 9) echo "Seu numero: $NUMERO e impar";;
2 | 4 | 6 | 8) echo "Seu numero: $NUMERO e par";;
*) echo "Eu disse um numero de 1 a 9 ... ok?";;
esac

declaracao-for-1.sh

#!/bin/bash

for i in `ls /bin`;


do

echo "Nome do arquivo: $i";

done

declaracao-for-2.sh

Todos‌‌os‌‌direitos‌‌reservados:‌‌P.D.‌‌Tecnologia‌‌-‌‌
Profissionais‌‌Linux:‌‌https://profissionaislinux.com.br‌‌
Página:‌‌14
Licensed to sandro henrique antunes ribeiro - [email protected]

Curso Programação Shell Script - Start

#!/bin/bash

USER=`cat $HOME/bin/user.dat`

for i in $USER;
do

id $i

done

declaracao-while-1.sh

#!/bin/bash
i=0
#$i < 4
while [ $i -lt 10 ]
do
echo $i
i=$[$i+1]
done

Todos‌‌os‌‌direitos‌‌reservados:‌‌P.D.‌‌Tecnologia‌‌-‌‌
Profissionais‌‌Linux:‌‌https://profissionaislinux.com.br‌‌
Página:‌‌15

Você também pode gostar