forked from professorjosedeassis/shellscript
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtutorial.txt
More file actions
147 lines (122 loc) · 3.39 KB
/
tutorial.txt
File metadata and controls
147 lines (122 loc) · 3.39 KB
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
###### Introdução ao Shell script ######
1) Shell é um ambiente misto (digitação de comandos e programação)
2) BASH é o shell mais popular
3) Shell script é uma linguagem de script que roda em cima de uma linguagem base (Linguagem C)
###### Variáveis ######
Na programação utilizamos as variáveis para armazenar dados na memória.
Basicamente temos 3 tipos de dados que podem ser armazenados nas variáveis:
• String (consiste em letras e outros caracteres)
• Numérico (lida com números inteiros e reais)
• Booleano (verdadeiro ou falso)
Boas práticas para nomear variáveis nas linguagens de programação
• Todos os nomes diferenciam letras maiúsculas de minúsculas
• O nome deve começar com uma letra
• Não usar caracteres especiais nem deixar espaços
• Não usar palavras chaves ou reservadas da linguagem de programação
• Definir nomes que descrevam o tipo de informação que as variáveis armazenam
Para criar uma variável no shell basta atribuir um valor ao nome da variável
Eexemplos:
nome="José de Assis"
nota=8
Comandos:
echo -> "imprime um texto no terminal"
echo$ -> "mostra" o conteúdo de uma variável
set -> exibe todas as variáveis
unset -> apaga uma variável
export -> transforma uma variável em global
env -> exibe todas as variáveis exportadas
###### Operadores Aritméticos ######
+ (soma)
- (subtração)
* (multiplicação)
/ (divisão)
% (resto da divisão)
###### Operadores Lógicos ######
&& (AND)
|| (OR)
! (NOT)
###### Comparadores ######
-eq (igual)
-ne (diferente)
-gt (maior)
-lt (menor)
-le (menor igual)
-ge (maior igual)
###### Estruturas de controle ######
Estrutura condicional (if else)
if [ condição ]; then
#condição verdadeira;
else
#condição falsa;
fi
Sintaxe shell script (if else encadeado):
if [ condição1 ]; then
#condição1 verdadeira;
elif [ condição2 ]; then
#condição2 verdadeira;
else
#condição falsa;
fi
Sintaxe shell script da estrutura switch case
case (variável) in
"1")
#código1
;;
"2")
#código2
;;
*)
#nenhuma das anteriores
esac;
Sintaxe shell script da estrutura for (laço de repetição)
for contador in {1..10}
do
#comandos;
done
Sintaxe shell script da estrutura while (laço de repetição)
while [ condição ]
do
#comandos;
done
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
vi pegadinha.sh
#!/bin/bash
#eject (abre a gaveta do DVD)
#eject -t (fecha a gaveta do DVD)
#sleep (timer em segundos)
for contador in {1..5}
do
eject;
sleep 2;
eject -t;
sleep 2;
done
exit;
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
###### Criando uma função no Shell ######
nome() {
#código
}
Para executar a função basta digitar o nome!
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Exemplo de script para facilitar o back-up
vi backup.sh
#!/bin/bash
clear;
echo -n "Digite o diretório origem do back-up: ";
read origem;
### Verificando se existe o diretório de origem
## -d (verifica se existe o caminho do diretório apontado na variável $origem)
## ! (NOT "inversor") se não existir
if [ ! -d $origem ]; then
echo "diretório não encontrado";
exit;
fi
### criando um backup com data e hora automática
### Para atribuir um comando personalizado a variável, usar `apostrofe`
data=`date + %d%m%y%H%M%S`;
tar -czvf $data.tgz $origem;
clear;
echo "Backup realizado com sucesso em `pwd`;
exit;
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>