OpenLabsby #OpenDev
AUTOMATIZANDO TAREFAS COM
BASH SCRIPT
Rennan Cockles
OpenLabsby #OpenDev
O QUE É BASH
Uma implementação do shell
OpenLabsby #OpenDev
06/12/2016 3
BOURN AGAIN SHELL
Sh (Bourne Shell) melhorado
Comandos interativos / programação
Programação tipo LEGO
Comando3 = Comando1 + Comando2
HELP
$ whatis command
OpenLabsby #OpenDev
06/12/2016 4
$ command --help
$ man command
$ apropos keyword
PROGRAMANDO EM BASH
OpenLabsby #OpenDev
shebang
#! /bin/sh
#! /bin/bash
OpenLabsby #OpenDev
06/12/2016 6
function
function hello {
echo oi $1;
}
$ hello OpenLabs
oi OpenLabs
OpenLabsby #OpenDev
06/12/2016 7
if..elif..else
if test EXPRESSION; then
echo if;
elif [ EXPRESSION ]; then
echo elif;
else
echo else;
fi
OpenLabsby #OpenDev
06/12/2016 8
for
for ((i=1; i<=10; i++)); do
echo $i;
done
for i in `seq 1 10`; do
echo $i;
done
OpenLabsby #OpenDev
06/12/2016 9
while
COUNT=0;
while [ $COUNT -lt 5 ]; do
echo count = $COUNT;
let COUNT=COUNT+1
done
OpenLabsby #OpenDev
06/12/2016 10
while
COUNT=0;
while read line; do
let COUNT++;
echo line $COUNT - $line;
done < file
OpenLabsby #OpenDev
06/12/2016 11
until
COUNT=0;
until [ $COUNT = 5 ]; do
echo count = $COUNT;
let COUNT=COUNT+1
done
OpenLabsby #OpenDev
06/12/2016 12
case
COUNT=2;
case $COUNT in
1) echo um;;
2) echo dois;;
3) echo tres;;
*) echo outro;;
esac
OpenLabsby #OpenDev
06/12/2016 13
Mãos à obra
OpenLabsby #OpenDev
INPUT
Name,Status
"Claudia Schuenck",Comparecerão
"Thaís Rochah",Comparecerão
"Felipe Martins",Comparecerão
"Maria Clara Ornelas",Comparecerão
"Nicolle Guerreiro Chaboudet",Comparecerão
"Ana Carolina Organista Cörner",Comparecerão
"Diogo Antunes",Comparecerão
"Lucas Tardin",Comparecerão
"Nélio Viana",Comparecerão
. . .
OpenLabsby #OpenDev
OUTPUT
1 Adriana Santos
2 Adriana Silva
3 Adriano Brito
4 Adriene Sanches
5 Alana Melo
6 Alan Da Cruz Azevedo
7 Alessandro Martins Alves Debeu
8 Alexandre Mattos Faria
9 Alexsandro Bussinger
10 Alex Schuindt
. . .
SCRIPT
#!/bin/bash
tail -n +2 input | cut -d',' -f1 | tr -d """ | sort | nl
Manipulando arquivo de texto
INPUT
Files/
ARQUIVO de TESTE.txt
file 1
FiLe 2
Mais um arquivo - test.csv
OpenLabsby #OpenDev
OUTPUT
Files/
arquivo_de_teste.txt
file_1
file_2
mais_um_arquivo_-_test.csv
SCRIPT
#!/bin/bash
for f in *; do
[ -f "$f" ] && mv "$f" "$(echo $f | tr '[:upper:] ' '[:lower:]_')";
done 2> /dev/null
Renomeando arquivos
INPUT
https://www.packtpub.com
Todo dia um ebook gratuito é liberado no
site
OpenLabsby #OpenDev
OUTPUT
Título do ebook gratuito do dia
SCRIPT
#! /bin/bash
curl -s https://www.packtpub.com/packt/offers/free-learning | grep dotd-title -A 2 | tr
"n" "; " | tr -d "t" | cut -d ";" -f3 | cut -d '<' -f1
Free ebook
INPUT
http://www.filmesmonster.com
Site para download de filmes em torrent
OpenLabsby #OpenDev
OUTPUT
Lista dos filmes disponíveis para download
SCRIPT
#! /bin/bash
filmes="$(curl -s www.filmesmonster.com | hxnormalize -x | hxselect -i 'h2.entry-title')"
echo $filmes | lynx -stdin -dump | grep '['
Filmes torrent
INPUT
http://www.filmesmonster.com
Site para download de filmes em torrent
OpenLabsby #OpenDev
OUTPUT
Lista dos filmes disponíveis para download
SCRIPT
#! /bin/bash
filmes="$(curl -s www.filmesmonster.com | hxnormalize -x | hxselect -i 'h2.entry-title')"
echo $filmes | lynx -stdin -dump | grep '['
Backup simples
E AGORA?
Pense em suas tarefas cotidianas
Encontre algo para automatizar
Elabore
Tente, experimente
OpenLabsby #OpenDev
06/12/2016 20
Contatos
Email:
rcdev @ hotmail . com . br
Telegram:
@RCockles
OpenLabsby #OpenDev
06/12/2016 21
OpenLabsby #OpenDev
Obrigado!

Automatizando tarefas com bash script

Notas do Editor

  • #4 Um shell é basicamente um programa que interpreta o que o usuário digita (comandos) e envia para o sistema operacional scripts Shell criam novas aplicações compondo aplicações existentes
  • #5 Um shell é basicamente um programa que interpreta o que o usuário digita (comandos) e envia para o sistema operacional scripts Shell criam novas aplicações compondo aplicações existentes
  • #7 Um shell é basicamente um programa que interpreta o que o usuário digita (comandos) e envia para o sistema operacional scripts Shell criam novas aplicações compondo aplicações existentes
  • #8 Um shell é basicamente um programa que interpreta o que o usuário digita (comandos) e envia para o sistema operacional scripts Shell criam novas aplicações compondo aplicações existentes
  • #9 Um shell é basicamente um programa que interpreta o que o usuário digita (comandos) e envia para o sistema operacional scripts Shell criam novas aplicações compondo aplicações existentes
  • #10 Um shell é basicamente um programa que interpreta o que o usuário digita (comandos) e envia para o sistema operacional scripts Shell criam novas aplicações compondo aplicações existentes
  • #11 Um shell é basicamente um programa que interpreta o que o usuário digita (comandos) e envia para o sistema operacional scripts Shell criam novas aplicações compondo aplicações existentes
  • #12 Um shell é basicamente um programa que interpreta o que o usuário digita (comandos) e envia para o sistema operacional scripts Shell criam novas aplicações compondo aplicações existentes
  • #13 Um shell é basicamente um programa que interpreta o que o usuário digita (comandos) e envia para o sistema operacional scripts Shell criam novas aplicações compondo aplicações existentes
  • #14 Um shell é basicamente um programa que interpreta o que o usuário digita (comandos) e envia para o sistema operacional scripts Shell criam novas aplicações compondo aplicações existentes
  • #21 Um shell é basicamente um programa que interpreta o que o usuário digita (comandos) e envia para o sistema operacional scripts Shell criam novas aplicações compondo aplicações existentes