Olá pessoal, hoje iremos conhecer um script para verificar se estamos conectado com a Internet.
Crie um arquivo com o nome check-net.sh
e adicione o código abaixo:
#!/usr/bin/env bash
# Author: Francisco Chaves
# WebSite: <https://franciscochaves.com.br>
# Description: Check connection with the Internet
# Colors
COLOR_DEFAULT="\033[0;0m"
COLOR_SUCESS="\033[1;92m"
COLOR_DANGER="\033[1;31m"
CONT_NET=0
checkNet() {
ping www.google.com -c 5 > /dev/null 2>&1
if [ $? -eq 0 ]
then
echo -e "${COLOR_SUCESS} ✅ ${COLOR_DEFAULT} Connection Internet"
else
if [ ${CONT_NET} -eq 10 ]
then
echo
echo -e "${COLOR_DANGER} ╦┌┐┌┌┬┐┌─┐┬─┐┌┐┌┌─┐┌┬┐ ┌─┐┌─┐┌┐┌┌┐┌┌─┐┌─┐┌┬┐┬┌─┐┌┐┌ ┌─┐┌─┐┬┬ ┌─┐┌┬┐"
echo -e "${COLOR_DANGER} ║│││ │ ├┤ ├┬┘│││├┤ │ │ │ │││││││├┤ │ │ ││ ││││ ├┤ ├─┤││ ├┤ ││"
echo -e "${COLOR_DANGER} ╩┘└┘ ┴ └─┘┴└─┘└┘└─┘ ┴ └─┘└─┘┘└┘┘└┘└─┘└─┘ ┴ ┴└─┘┘└┘ └ ┴ ┴┴┴─┘└─┘─┴┘"
echo
exit 1
fi
echo -e "${COLOR_DANGER} ❌ ${COLOR_DEFAULT} Connection Internet"
CONT_NET=$(($CONT_NET+1))
sleep 3
checkNet
fi;
}
checkNet
Abra o terminal, entre no diretório do script, e atribua permissão de execução:
chmod +x check-net.sh
Para executar, utilize o comando a seguir:
./check-net.sh
Resultado sem conexão à Internet:
Resultado com conexão à Internet:
Podemos perceber, que para descobrir se estamos conectado à Internet, utilizamos um método de checagem com o comando ping, se o comando conseguir efetuar a checagem no servidores do Google com sucesso, estamos conectado e caso contrário não estamos conectado. Também vale ressaltar que o script tenta 10 vezes e após encerra com uma mensagem.