Otimizando a vida no Linux com Shell Script
Olá, sou
Joerverson
Santos
Linux?
Qual a sua experiência com o
O que é Shell Script?
Shell Script é uma poderosa ferramenta de automação de instruções. Com um arquivo de texto executável o usuário ou sistema é capaz de executar uma seqüência de operações, instruções e testes.
https://www.vivaolinux.com.br/~Virgilio
Vida fácil, bora?
Para facilitar nossa vida no terminal, vou motrar a vocês um utilitario ótimo para melhorar sua experiência no terminal.
https://ohmyz.sh
Mas antes de qualquer coisa, você conhece o VIM?
Continuando no embalo, vamos codar usando um famoso editor de texto no próprio terminal, o VIM.
Certo, agora vamos aprender a programar
Variáveis
NAME="John"
echo $NAME
echo "$NAME"
echo "${NAME}!"
Manipulação de Strings
NAME="John"
echo "Hi $NAME" #=> Hi John
echo 'Hi $NAME' #=> Hi $NAME
Execução condicional
git commit && git push
git commit || echo "Commit failed"
Condicionais
if [[ -z "$string" ]]; then
echo "String is empty"
elif [[ -n "$string" ]]; then
echo "String is not empty"
fi
Condicionais
[[ -z STRING ]] | String Vazia |
[[ -n STRING ]] | String não está vazia |
[[ STRING == STRING ]] | Igual |
[[ STRING != STRING ]] | Não é Igual |
[[ NUM -eq NUM ]] | Igual |
[[ NUM -ne NUM ]] | Não é igual |
[[ NUM -lt NUM ]] | Menor que |
[[ NUM -le NUM ]] | Menor ou igual |
[[ NUM -gt NUM ]] | Maior que |
[[ NUM -ge NUM ]] | Maior igual |
Loops
for ((i = 0 ; i < 100 ; i++)); do
echo $i
done
for i in {1..5}; do
echo "Welcome $i"
done
Matriz
Fruits=('Apple' 'Banana' 'Orange')
echo ${Fruits[0]} # "Apple"
echo ${Fruits[1]} # "Banana"
echo ${Fruits[2]} # "Orange"
Funções
get_name() { echo "My name is $1" } get_name "John"
Vamos brincar agora?
Aplicação Prática
Vamos criar uma aplicação simples ao qual podemos zuar com nossos amigos e colegas do trabalho.
#! /bash/bin
main()
{
# Comando para rodar a aplicação que fala ou instala caso não exista
espeak "$1" || sudo apt-get install espeak
# Comando para abrir o drive de disco
eject
}
for ((;;)) do
sleep 60 # rodando a cada minuto
main "$(date '+%d/%m/%Y %H:%M:%S')"
done
Vamos rodar
Para rodar nossa brincadeirinha basta dar o seguinte comando
$ bash <file-name>.sh &
Referências
- https://devhints.io/bash
- https://www.vivaolinux.com.br/artigo/Bash-O-interpretador-de-comandos
- https://www.cyberciti.biz/faq/linux-display-date-and-time/
deck
By Joeverson Santos
deck
- 140