This repository has been archived by the owner on Oct 20, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 166
/
Shell.sh
92 lines (92 loc) · 3.22 KB
/
Shell.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#!/bin/bash
# Autor: Robson Vaamonde
# Site: www.procedimentosemti.com.br
# Facebook: facebook.com/ProcedimentosEmTI
# Facebook: facebook.com/BoraParaPratica
# YouTube: youtube.com/BoraParaPratica
# Linkedin: https://www.linkedin.com/in/robson-vaamonde-0b029028/
# Instagram: https://www.instagram.com/procedimentoem/?hl=pt-br
# Github: https://github.com/vaamonde
# Data de criação: 10/10/2021
# Data de atualização: 20/01/2022
# Versão: 0.20
# Testado e homologado para a versão do Ubuntu Server 20.04.x LTS x64
#
# Criação das variáveis locais utilizada nesse script
USUARIO="Vaamonde"
USUARIOS=$(who | awk '{print $1}')
TESTE01=$(test A == B ; echo $?)
TESTE02=$(test -f /etc/passwd ; echo $?)
#
# Utilizando o comando echo para imprimir na tela os valores das variáveis locais
# e variáveis especiais do Shell
echo "Impressão na tela.............: Olá Mundo!!!"
echo "Nome do usuário...............: $USUARIO"
echo "Nome do arquivo shell.........: $0"
echo "Quantidade de parâmetros......: $#"
echo "Todos os parâmetros...........: $*"
echo "Parâmetro 01..................: $1"
echo "Parâmetro 02..................: $2"
echo "Status do comando anterior....: $?"
echo "PID do processo...............: $$"
echo "Usuário logado................: $USUARIOS"
echo "Comando: test A == B..........: $TESTE01"
echo "Comando: test -f /etc/passwd..: $TESTE02"
#
# Utilizando o comando if para fazer os testes lógicos
if [ $USUARIO == root ];
then
echo "Teste de usuário..............: Usuário é root."
else
echo "Teste de usuário..............: Usuário não é root"
fi
#
# Utilizando o comando if encadeado para aumentar os testes lógicos
if [ $TESTE01 -eq 0 ];
then
echo "Resultado do comando test é...: VERDADEIRO"
elif [ $TESTE01 -eq 1 ];
then
echo "Resultado do comando test é...: FALSO"
else
echo "Resultado do comando test é...: NÃO IDENTIFICADO"
fi
#
# Utilizando o comando case para fazer os testes lógicos
case $TESTE01 in
0) echo "Resultado do comando case é...: 0 - VERDADEIRO";;
1) echo "Resultado do comando case é...: 1 - FALSO";;
*) echo "Resultado do comando case é...: NÃO IDENTIFICADO"
esac
#
# Utilizando o comando read para receber os valores e fazer o teste lógico com case
read -p "Digite as letras: A, B ou C...: " LETRAS;
case $LETRAS in
A|a) echo "A letra digita foi............: $LETRAS";;
B|b) echo "A letra digita foi............: $LETRAS";;
C|c) echo "A letra digita foi............: $LETRAS";;
*) echo "Letra digitada incorretamente.: $LETRAS"
esac
#
# Utilizando o laço de loop for para verificar os números digitados junto com o comando read
read -p "Uma sequência de números......: " NUMEROS;
for VALORES in $NUMEROS;
do
echo "Valores passado para o Loop...: $VALORES"
done
#
# Utilizando o laço de loop for para gerar uma tabuada junto com o comando read
read -p "Digite um número da tabuada...: " NUMERO;
for TABUADA in $(seq 0 10);
do
echo "$NUMERO x $TABUADA...: $(($TABUADA * $NUMERO))"
done
#
# Utilizando o laço de loop while para alcançar os valores desejados junto com o comando read e let
read -p "Digite um número de início....: " INICIO;
read -p "Digite um número da fim.......: " FIM;
while [ $INICIO -le $FIM ];
do
echo "Valor de sequência numérica...: $INICIO"
let INICIO=INICIO+1
done