Criei um documento para uso nas minhas aulas sobre Programação com foco em componentes de infraestrutura. É uma síntese de tópicos importantes que espero que seja útil para você.
Fique à vontade para explorar o conteúdo e utilize-o como um guia durante as aulas. Espero que aproveite e tenha uma ótima experiência de aprendizado!
O Bash (Bourne Again SHell) é um interpretador de comandos para sistemas operacionais Unix, como Linux e macOS. Ele fornece uma interface de linha de comando poderosa e flexível, permitindo que os usuários executem comandos e automatizem tarefas no sistema operacional.
A programação procedural é baseada na execução sequencial de instruções, onde o programa é dividido em funções ou procedimentos que manipulam dados. Nesse paradigma, o foco está na estrutura do programa, com ênfase nas ações e procedimentos a serem realizados.
- Automatizar o provisionamento de servidores e configuração de serviços.
- Realizar backups e restauração de dados.
- Monitorar e gerenciar servidores e redes.
- Executar comandos remotos em vários sistemas.
- Coletar e analisar dados de log.
- Realizar integração e entrega contínua (CI/CD).
O Bash é amplamente suportado em sistemas operacionais Unix e Linux, tornando-o uma escolha popular para a automação de tarefas de infraestrutura de TI.
O Bash é uma linguagem de script do shell Unix, voltada principalmente para automação de tarefas no ambiente de linha de comando. Ao contrário de outras linguagens de programação, como Python ou Java, o Bash é interpretado em vez de ser compilado. Ele possui recursos específicos para interagir com o sistema operacional e executar comandos. Além disso, o Bash possui uma sintaxe mais simples e direta, focada em manipulação de texto e execução de comandos do sistema, enquanto outras linguagens de programação são mais versáteis e abrangem uma ampla gama de aplicações, como desenvolvimento web, ciência de dados e aplicativos de desktop.
No terminal Unix, o comando source é usado para executar um arquivo de script no contexto atual do shell, permitindo que as variáveis e funções definidas no arquivo sejam acessadas no terminal. Por exemplo, ao executar source arquivo.sh, as funções declaradas no "arquivo.sh" estarão disponíveis para uso imediato. As funções no terminal Unix são blocos de código reutilizáveis que podem ser definidos usando a sintaxe nome_da_funcao() { comandos }. Elas permitem agrupar comandos relacionados e executá-los facilmente, tornando o trabalho no terminal mais eficiente e organizado.
No Bash, as variáveis de ambiente podem ser declaradas e atribuídas da seguinte forma: VARIAVEL=valor. Para acessar o valor de uma variável, utiliza-se o prefixo $, por exemplo: $VARIAVEL. É possível definir variáveis de ambiente no arquivo .bashrc ou no momento da execução do script usando o comando export VARIAVEL=valor. Para exibir o valor de uma variável, usa-se o comando echo $VARIAVEL. As variáveis de ambiente são úteis para armazenar informações como caminhos de diretórios, configurações e outros dados que podem ser acessados em diferentes partes do sistema.
As permissões de execução dos arquivos com scripts Bash são importantes para controlar quem pode executar esses scripts. O comando chmod é usado para definir as permissões de um arquivo. Por exemplo, chmod +x script.sh concede permissão de execução ao arquivo "script.sh". O comando chown permite alterar o proprietário de um arquivo, enquanto chgrp permite alterar o grupo do arquivo. Por exemplo, chown user script.sh atribui o proprietário "user" ao arquivo. As permissões de execução são essenciais para garantir que os scripts Bash sejam executados apenas por usuários autorizados, reforçando a segurança e o controle de acesso aos arquivos.
Um exemplo de programa em Bash
#!/bin/bash
# Constantes
readonly PI=3.14159
readonly GREETING="Olá, bem-vindo(a)!"
# Função para calcular a área de um círculo
# Parâmetro: raio do círculo
# Retorna: área do círculo
calculate_area() {
local radius=$1
local area=$(echo "scale=2; $PI * $radius * $radius" | bc)
echo "A área do círculo com raio $radius é: $area"
}
# Função para cumprimentar o usuário
greet_user() {
echo "$GREETING"
echo "Qual é o seu nome?"
read name
echo "Olá, $name! É um prazer conhecê-lo(a)."
}
# Função principal
main() {
greet_user
echo "Vamos calcular a área de um círculo."
echo "Por favor, informe o raio do círculo:"
read radius
calculate_area $radius
}
# Chamada da função principal
main
Este programa em Bash apresenta as seguintes características:
Define duas constantes: PI e GREETING. Implementa duas funções: calculate_area para calcular a área de um círculo com base no raio fornecido e greet_user para cumprimentar o usuário e solicitar seu nome. A função main é a função principal que chama as outras funções. O programa solicita ao usuário que forneça o raio do círculo e, em seguida, calcula e exibe a área do círculo com base no raio fornecido.
- "The Linux Command Line" de William Shotts, disponível gratuitamente em http://linuxcommand.org/tlcl.php.
Mais alguns arquivos para compilação kakashi (2015) https://github.com/gpupo/kakashi/tree/master/bin