Categoria

Bash/Shell Script

Redirecionamento: stdin, stdout, stderr e o operador >
Bash/Shell Script

Redirecionamento: stdin, stdout, stderr e o operador >

No Bash, todo processo em execução possui três fluxos de dados fundamentais, conhecidos como descritores de arquivo. O shell gerencia automaticamente esses fluxos para permitir a comunicação entre comandos, arquivos e o terminal.

05/05/2026
Projeto final: script completo de provisionamento de servidor
Bash/Shell Script 05/05/2026

Projeto final: script completo de provisionamento de servidor

Este artigo apresenta um script Bash completo para provisionamento automatizado de um servidor web com banco de dados, seguindo o modelo LEMP (Linux, Nginx, MySQL/MariaDB, PHP) em distribuições baseadas em Debian/Ubuntu. O objetivo é criar um ambiente funcional e seguro para hospedar aplicações web com o mínimo de intervenção manual.

Parsing de YAML e TOML no Bash
Bash/Shell Script 05/05/2026

Parsing de YAML e TOML no Bash

O Bash, apesar de poderoso para automação de tarefas no terminal, possui limitações significativas quando o assunto é lidar com formatos de dados estruturados. Diferente de linguagens como Python ou JavaScript, o Bash não oferece mapas associativos complexos, listas aninhadas ou estruturas de dados tipadas. Arrays no Bash são unidimensionais e não suportam chaves arbitrárias de forma nativa (embora o declare -A ofereça arrays associativos a partir do Bash 4).

Path: como o shell encontra os comandos
Bash/Shell Script 05/05/2026

Path: como o shell encontra os comandos

O PATH é uma variável de ambiente fundamental no Bash e em outros shells Unix-like. Ela define uma lista de diretórios que o shell percorre para localizar executáveis quando você digita um comando. Sem o PATH, você precisaria especificar o caminho completo para cada programa, como /bin/ls ou /usr/bin/python.

Performance tuning: evitando subshells desnecessários
Bash/Shell Script 05/05/2026

Performance tuning: evitando subshells desnecessários

Subshells são processos filhos criados pelo shell para executar comandos ou expressões em um ambiente isolado. Cada subshell envolve uma chamada fork(), que duplica o processo atual, e possivelmente exec() para executar um novo comando. Esse overhead, embora pequeno para uma única execução, torna-se significativo em loops com milhares de iterações ou em scripts que processam grandes volumes de dados.

Permissões de arquivo: chmod, chown e como funcionam
Bash/Shell Script 05/05/2026

Permissões de arquivo: chmod, chown e como funcionam

O Linux implementa um modelo de segurança baseado em três categorias de acesso: usuário (user), grupo (group) e outros (others). Cada arquivo ou diretório possui um proprietário (owner), um grupo associado e permissões específicas para cada uma dessas categorias.

Pipes: conectando comandos com |
Bash/Shell Script 05/05/2026

Pipes: conectando comandos com |

O operador | (pipe) no Bash é um dos mecanismos mais poderosos e elegantes do Unix/Linux. Ele permite conectar a saída padrão (stdout) de um comando diretamente à entrada padrão (stdin) de outro comando, criando um fluxo contínuo de processamento de dados.

Operadores de comparação: numérico, string e arquivos
Bash/Shell Script 05/05/2026

Operadores de comparação: numérico, string e arquivos

Operadores de comparação são fundamentais em scripts Bash para tomar decisões baseadas em condições. Eles permitem verificar valores numéricos, comparar strings e inspecionar propriedades de arquivos. Sem eles, scripts seriam lineares e incapazes de reagir a diferentes cenários.

Package management automation: apt, yum, dnf em scripts
Bash/Shell Script 05/05/2026

Package management automation: apt, yum, dnf em scripts

Automatizar o gerenciamento de pacotes exige compreender as diferenças entre os principais gerenciadores. O apt é usado em distribuições baseadas em Debian (Ubuntu, Debian), enquanto yum (legado) e dnf (moderno) são usados em distribuições baseadas em Red Hat (CentOS, Fedora, RHEL).