Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit fe14d76

Browse files
Add pt_br - 013, 014, 015, 016 contents (#93)
* Add Portuguese Brazilian Language - About and Intro * Add Portuguese Brazilian Language - 002 and 003 contents * Add Portuguese Brazilian Language - 004 and 005 contents * Add pt_br - 006, 007, 008, 009, 010, 011, 012 contents * Add pt_br - 013, 014, 015, 016 contents
1 parent d1a4f3b commit fe14d76

8 files changed

+1194
-0
lines changed
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# Depuração, teste e atalhos
2+
3+
Para depurar seus scripts bash, você pode usar `-x` ao executar seus scripts:
4+
5+
```bash
6+
bash -x ./seu_script.sh
7+
```
8+
9+
Ou você pode adicionar `set -x` antes da linha específica que você deseja depurar, `set -x` habilita um modo do shell onde todos os comandos executados são impressos no terminal.
10+
11+
Outra maneira de testar seus scripts é usar esta ferramenta fantástica aqui:
12+
13+
[https://www.shellcheck.net/](https://www.shellcheck.net/)
14+
15+
Basta copiar e colar seu código na caixa de texto, e a ferramenta lhe dará algumas sugestões sobre como você pode melhorar seu script.
16+
17+
Você também pode executar a ferramenta diretamente no seu terminal:
18+
19+
[https://github.com/koalaman/shellcheck](https://github.com/koalaman/shellcheck)
20+
21+
Se você gostar da ferramenta, certifique-se de marcá-la no GitHub e contribuir!
22+
23+
Como SysAdmin/DevOps, passo muito do meu dia no terminal. Aqui estão meus atalhos favoritos que me ajudam a fazer tarefas mais rapidamente enquanto escrevo scripts Bash ou apenas enquanto trabalho no terminal.
24+
25+
Os dois abaixo são particularmente úteis se você tiver um comando muito longo.
26+
27+
* Exclua tudo do cursor até o final da linha:
28+
29+
```
30+
Ctrl + k
31+
```
32+
33+
* Exclua tudo do cursor até o início da linha:
34+
35+
```
36+
Ctrl + você
37+
```
38+
39+
* Excluir uma palavra para trás do cursor:
40+
41+
```
42+
Ctrl + w
43+
```
44+
45+
* Pesquise seu histórico para trás. Este é provavelmente o que eu mais uso. É realmente útil e acelera muito meu fluxo de trabalho:
46+
47+
```
48+
Ctrl + r
49+
```
50+
51+
* Limpe a tela, eu uso isso em vez de digitar o comando `clear`:
52+
53+
```
54+
Ctrl + l
55+
```
56+
57+
* Interrompe a saída para a tela:
58+
59+
```
60+
Ctrl + s
61+
```
62+
63+
* Habilite a saída para a tela caso tenha parado anteriormente por `Ctrl + s`:
64+
65+
```
66+
Ctrl + q
67+
```
68+
69+
* Termina o comando atual
70+
71+
```
72+
Ctrl + c
73+
```
74+
75+
* Jogue o comando atual em segundo plano:
76+
77+
```
78+
Ctrl + z
79+
```
80+
81+
Eu os uso regularmente todos os dias, e isso me economiza muito tempo.
82+
83+
Se você acha que eu perdi algum, sinta-se à vontade para participar da discussão no [fórum da comunidade DigitalOcean](https://www.digitalocean.com/community/questions/what-are-your-favorite-bash-shortcuts)!
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
# Criando comandos bash personalizados
2+
3+
Como desenvolvedor ou administrador do sistema, você pode ter que passar muito tempo em seu terminal. Eu sempre tento procurar maneiras de otimizar quaisquer tarefas repetitivas.
4+
5+
Uma maneira de fazer isso é escrever scripts bash curtos ou criar comandos personalizados também conhecidos como aliases. Por exemplo, em vez de digitar um comando muito longo toda vez, você pode simplesmente criar um atalho para ele.
6+
7+
## Exemplo
8+
9+
Vamos começar com o seguinte cenário, como administrador do sistema, você pode ter que verificar as conexões com seu servidor web com bastante frequência, então usarei o comando `netstat` como exemplo.
10+
11+
O que eu normalmente faço quando acesso um servidor que está tendo problemas com as conexões à porta 80 ou 443 é verificar se há algum serviço escutando nessas portas e o número de conexões nas portas.
12+
13+
O seguinte comando `netstat` nos mostraria quantas conexões TCP nas portas 80 e 443 temos atualmente:
14+
15+
```bash
16+
netstat -plant | grep '80\|443' | grep -v LISTEN | wc -l
17+
```
18+
19+
Este é um comando bastante longo, portanto, digitá-lo sempre pode ser demorado a longo prazo, especialmente quando você deseja obter essas informações rapidamente.
20+
21+
Para evitar isso, podemos criar um alias, então, em vez de digitar o comando inteiro, podemos simplesmente digitar um comando curto. Por exemplo, digamos que queríamos poder digitar `conn` (abreviação de conexões) e obter as mesmas informações. Tudo o que precisamos fazer neste caso é executar o seguinte comando:
22+
23+
```bash
24+
alias conn="netstat -plant | grep '80\|443' | grep -v LISTEN | wc -l"
25+
```
26+
27+
Dessa forma, estamos criando um alias chamado `conn` que seria essencialmente um 'atalho' para nosso longo comando `netstat`. Agora, se você executar apenas `conn`:
28+
29+
```bash
30+
conn
31+
```
32+
33+
Você obteria a mesma saída que o comando longo `netstat`.
34+
Você pode ser ainda mais criativo e adicionar algumas mensagens informativas como esta aqui:
35+
36+
```bash
37+
alias conn="echo 'Total de conexões na porta 80 e 443:' ; netstat -plant | grep '80\|443' | grep -v LISTEN | wc -l"
38+
```
39+
40+
Agora, se você executar `conn`, obterá a seguinte saída:
41+
42+
```bash
43+
Total de conexões na porta 80 e 443:
44+
12
45+
```
46+
47+
Agora, se você sair e entrar novamente, seu alias será perdido. Na próxima etapa, você verá como tornar isso persistente.
48+
49+
## Tornando a mudança persistente
50+
51+
Para tornar a alteração persistente, precisamos adicionar o comando `alias` em nosso arquivo de perfil do shell.
52+
53+
Por padrão no Ubuntu este seria o arquivo `~/.bashrc`, para outros sistemas operacionais pode ser o arquivo `~/.bash_profle`. Com seu editor de texto favorito abra o arquivo:
54+
55+
```bash
56+
nano ~/.bashrc
57+
```
58+
59+
Vá para a parte inferior e adicione o seguinte:
60+
61+
```bash
62+
alias conn="echo 'Total de conexões na porta 80 e 443:' ; netstat -plant | grep '80\|443' | grep -v LISTEN | wc -l"
63+
```
64+
65+
Salve e depois saia.
66+
67+
Dessa forma, agora, mesmo que você faça logout e faça login novamente, sua alteração persistirá e você poderá executar seu comando bash personalizado.
68+
69+
## Listando todos os aliases disponíveis
70+
71+
Para listar todos os aliases disponíveis para seu shell atual, basta executar o seguinte comando:
72+
73+
```bash
74+
alias
75+
```
76+
77+
Isso seria útil caso você esteja vendo algum comportamento estranho com alguns comandos.
78+
79+
## Conclusão
80+
81+
Essa é uma maneira de criar comandos bash personalizados ou aliases bash.
82+
83+
Claro, você poderia realmente escrever um script bash e adicionar o script dentro de sua pasta `/usr/bin`, mas isso não funcionaria se você não tivesse acesso root ou sudo, enquanto com aliases você pode fazer isso sem a necessidade de acesso root.
84+
85+
>{notice} Isso foi postado inicialmente em [DevDojo.com](https://devdojo.com/bobbyiliev/how-to-create-custom-bash-commands)
Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
# Escreva seu primeiro script Bash
2+
3+
Vamos tentar juntar o que aprendemos até agora e criar nosso primeiro script Bash!
4+
5+
## Planejando o roteiro
6+
7+
Como exemplo, escreveremos um script que reuniria algumas informações úteis sobre nosso servidor, como:
8+
9+
* Uso atual do disco
10+
* Uso atual da CPU
11+
* Uso atual de RAM
12+
* Verifique a versão exata do Kernel
13+
14+
Sinta-se à vontade para ajustar o script adicionando ou removendo a funcionalidade para que corresponda às suas necessidades.
15+
16+
## Escrevendo o roteiro
17+
18+
A primeira coisa que você precisa fazer é criar um novo arquivo com a extensão `.sh`. Vou criar um arquivo chamado `status.sh` pois o script que vamos criar nos daria o status do nosso servidor.
19+
20+
Depois de criar o arquivo, abra-o com seu editor de texto favorito.
21+
22+
Como aprendemos no capítulo 1, na primeira linha do nosso script Bash, precisamos especificar o chamado [Shebang](https://en.wikipedia.org/wiki/Shebang_(Unix)):
23+
24+
```bash
25+
#!/bin/bash
26+
```
27+
28+
Tudo o que o shebang faz é instruir o sistema operacional a executar o script com o executável /bin/bash.
29+
30+
## Adicionando comentários
31+
32+
Em seguida, conforme discutido no capítulo 6, vamos começar adicionando alguns comentários para que as pessoas possam descobrir facilmente para que serve o script. Para fazer isso logo após o shebang, basta adicionar o seguinte:
33+
34+
```bash
35+
#!/bin/bash
36+
37+
# Script que retorna o status atual do servidor
38+
```
39+
40+
## Adicionando sua primeira variável
41+
42+
Então vamos aplicar o que aprendemos no capítulo 4 e adicionar algumas variáveis ​​que podemos querer usar em todo o script.
43+
44+
Para atribuir um valor a uma variável no bash, você só precisa usar o sinal `=`. Por exemplo, vamos armazenar o hostname do nosso servidor em uma variável para que possamos usá-lo mais tarde:
45+
46+
```bash
47+
server_name=$(hostname)
48+
```
49+
50+
Usando `$()` dizemos ao bash para interpretar o comando e então atribuir o valor à nossa variável.
51+
52+
Agora, se ecoássemos a variável, veríamos o nome do host atual:
53+
54+
```bash
55+
echo $server_name
56+
```
57+
58+
## Adicionando sua primeira função
59+
60+
Como você já sabe depois de ler o capítulo 12, para criar uma função no bash você precisa usar a seguinte estrutura:
61+
62+
```bash
63+
function nome_função() {
64+
seus_comandos
65+
}
66+
```
67+
68+
Vamos criar uma função que retorne o uso atual de memória em nosso servidor:
69+
70+
```bash
71+
function memory_check() {
72+
echo ""
73+
echo "O uso atual de memória em ${server_name} é: "
74+
free -h
75+
echo ""
76+
}
77+
```
78+
79+
Resumo rápido da função:
80+
81+
* `function memory_check() {` - é assim que definimos a função
82+
* `echo ""` - aqui apenas imprimimos uma nova linha
83+
* `echo "O uso atual de memória em ${server_name} é: "` - aqui nós imprimimos uma pequena mensagem e a variável `$server_name`
84+
* `}` - finalmente é assim que fechamos a função
85+
86+
Então, uma vez definida a função, para chamá-la, basta usar o nome da função:
87+
88+
```bash
89+
#Defina a função
90+
function memory_check() {
91+
echo ""
92+
echo "O uso atual de memória em ${server_name} é: "
93+
free -h
94+
echo ""
95+
}
96+
97+
# Chama a função
98+
memory_check
99+
```
100+
101+
## Desafio de adicionar mais funções
102+
103+
Antes de verificar a solução, eu desafio você a usar a função acima e escrever algumas funções por conta própria.
104+
105+
As funções devem fazer o seguinte:
106+
107+
* Uso atual do disco
108+
* Uso atual da CPU
109+
* Uso atual de RAM
110+
* Verifique a versão exata do Kernel
111+
112+
Sinta-se à vontade para usar o google se não tiver certeza de quais comandos precisa usar para obter essas informações.
113+
114+
Quando estiver pronto, sinta-se à vontade para rolar para baixo e verificar como fizemos isso e comparar os resultados!
115+
116+
Observe que existem várias maneiras corretas de fazer isso!
117+
118+
## O script de exemplo
119+
120+
Veja como ficaria o resultado final:
121+
122+
```bash
123+
#!/bin/bash
124+
125+
##
126+
# script BASH que verifica:
127+
# - Uso de memória
128+
# - carga da CPU
129+
# - Número de conexões TCP
130+
# - Versão do kernel
131+
##
132+
133+
server_name=$(hostname)
134+
135+
function memory_check() {
136+
echo ""
137+
echo "O uso de memória em ${server_name} é: "
138+
free -h
139+
echo ""
140+
}
141+
142+
function cpu_check() {
143+
echo ""
144+
echo "A carga da CPU em ${server_name} é: "
145+
echo ""
146+
uptime
147+
echo ""
148+
}
149+
150+
function tcp_check() {
151+
echo ""
152+
echo "Conexões TCP em ${server_name}: "
153+
echo ""
154+
cat /proc/net/tcp | wc -l
155+
echo ""
156+
}
157+
158+
function kernel_check() {
159+
echo ""
160+
echo "A versão do kernel em ${server_name} é: "
161+
echo ""
162+
uname -r
163+
echo ""
164+
}
165+
166+
function all_checks() {
167+
memory_check
168+
cpu_check
169+
tcp_check
170+
kernel_check
171+
}
172+
173+
all_checks
174+
```
175+
176+
## Conclusão
177+
178+
O script Bash é incrível! Não importa se você é um engenheiro de DevOps/SysOps, desenvolvedor ou apenas um entusiasta do Linux, você pode usar scripts Bash para combinar diferentes comandos do Linux e automatizar tarefas diárias chatas e repetitivas, para que você possa se concentrar em coisas mais produtivas e divertidas!
179+
180+
>{notice} Isso foi postado inicialmente em [DevDojo.com](https://devdojo.com/bobbyiliev/introduction-to-bash-scripting)

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /