As funções Bash agrupam comandos relacionados sob um único nome. Quando você chama esse nome, todo o bloco é executado. Você pode passar argumentos para personalizar o comportamento e retornar valores para comunicar os resultados. Isso mantém seu código limpo e fácil de manter.
O Linux domina os ambientes de servidores globalmente, portanto, dominar as funções do Bash é mais importante do que nunca. As funções transformam scripts confusos em automação limpa e reutilizável.
Este guia orienta você desde a sintaxe básica até casos de uso avançados. Você aprenderá como declarar funções, passar parâmetros, manipular valores de retorno e verá dez exemplos práticos que você pode usar em seus próprios scripts.
DR
- As funções Bash são blocos de código nomeados que você pode reutilizar em seus scripts
- Defina funções usando nome_função() {comandos; } sintaxe
- Passe argumentos usando $1, $2, $3 parâmetros posicionais
- As funções melhoram a legibilidade, modularidade e manutenção do código
- Usar retornar para sair de funções e comunicar códigos de status (0 = sucesso, diferente de zero = falha)
- Funções podem ser compartilhadas entre scripts usando fonte or exportar -f
- Exemplos práticos incluem backup de arquivos, monitoramento de disco, validação de entrada e verificação de serviço
O que é script Bash?

O script Bash é um método de automação de tarefas usando o shell Bash. Ele serve como interface de linha de comando padrão para Linux e continua sendo uma ferramenta padrão no macOS. Um script Bash é um programa codificado na linguagem de script Bash, que pode ser executado em um terminal ou como um arquivo de script independente.
Com O uso de desktops Linux está crescendo constantemente e o sistema operacional dominando os ambientes de servidores em todo o mundo, as habilidades de script Bash tornaram-se valiosas para os profissionais de TI. A linguagem se integra bem com ferramentas DevOps como Docker, Kubernetes e pipelines de CI/CD.
O script Bash permite que você execute tarefas desde comandos simples até automação complexa e administração de sistema. Você pode automatizar tarefas repetitivas, desenvolver scripts de manutenção, construir pipelines de implantação, gerenciar sistemas de software e manipular dados.
O que é uma função Bash?

Uma função Bash pode ser definida como um conjunto de comandos definidos em um script Bash ou definidos interativamente no prompt de comando, dependendo do caso de uso. Uma vez definida, uma função Bash pode ser chamada várias vezes dentro do script ou em outros scripts, assim como um comando shell normal.
As funções Bash permitem criar blocos de código reutilizáveis que podem realizar operações complexas, organizar seu código e simplificar seus scripts. Você pode passar argumentos para uma função Bash e usá-los dentro da função para realizar operações. As funções Bash retornam valores que você pode usar em outro lugar do seu script.
e cobriremos vários estilos de implementação específicos, incluindo função_simples para lógica básica, entradas_simples para tratamento de argumentos e estruturas avançadas, como fibonnaci_recursion.
Fundamentos das funções Bash é importante para qualquer administrador de sistema ou engenheiro de DevOps que trabalhe com automação. As seções a seguir cobrem cada um desses tipos em detalhes.
Por que usar funções Bash?

Agora que a definição das funções Bash foi abordada, vamos revisar suas principais vantagens. Esta seção ajuda você a entender onde as funções são mais úteis.
Reutilização
Você cria uma função Bash e tem uma ferramenta poderosa. Você pode escrever um bloco de código uma vez e reutilizá-lo várias vezes em seu script ou até mesmo em outros scripts.
Isso torna seu código mais eficiente e economiza tempo, eliminando duplicações. Manter seu código fica mais simples, pois você só precisa alterar a função em um só lugar.
Legibilidade
Scripts complexos podem ser difíceis de decifrar. As funções Bash resolvem isso dividindo seu script em partes menores e mais gerenciáveis.
Cada função serve a um propósito específico com um nome descritivo que explica sua função. Isso ajuda você e outras pessoas a compreender e manter o código com mais facilidade.
Modularidade
Funções organizam seu código. Você pode dividir a lógica em módulos menores, o que mantém a estrutura do script limpa e fácil de gerenciar.
E se precisar adicionar um novo recurso, você pode fazer isso sem mexer em outras partes do seu script. Quando chegar a hora de remover ou modificar funcionalidades, o restante do script permanece intacto.
Parâmetros da função Bash
Você pode passar argumentos ou parâmetros para suas funções. Esses argumentos permitem que suas funções se adaptem e executem diferentes ações com base nas entradas que recebem.
Isto abre muitas possibilidades ao mesmo tempo que torna as suas funções mais versáteis e adaptáveis. Em vez de escrever código semelhante várias vezes, você escreve uma função que lida com entradas diferentes.
Como e onde usar funções Bash?

Agora, vamos ser um pouco mais técnicos com nossa definição e começar com um pequeno exemplo de como criar funções Bash. A sintaxe a seguir pode ser usada em ambientes baseados em Unix. Se você trabalha no Windows, você pode instale o Linux Bash no Windows 10 para acompanhar esses exemplos.
Criando uma função Bash
Comece usando a seguinte estrutura de comando:
nome_da_função() {
# comandos vão aqui
}
Depois de criar a função, você poderá usá-la em seu código a qualquer momento. Aqui está um exemplo prático:
saudar () {
echo “Olá, $ 1!”
}
Chame esta função com cumprimentar o mundo para gerar “Olá, mundo!” O $1 representa o primeiro argumento passado para a função.
Aqui estão mais alguns exemplos práticos que você pode usar em seus próprios scripts:
# Crie um backup de qualquer arquivo
arquivo_backup () {
cp “$1” “$1.bak”
echo “Backup criado: $ 1.bak”
}
# Verifique se existe um diretório, crie se não existir
garantir_dir() {
se [ ! -d “$1”]; então
mkdir -p “$1”
echo “Diretório criado: $1”
fi
}
# Registrar mensagens com carimbos de data/hora
log_mensagem() {
echo “[$(data ‘+%Y-%m-%d %H:%M:%S’)] $1”
}
Você define essas funções Bash personalizadas uma vez e as chama sempre que necessário em todo o seu script.
Fundamentos da sintaxe da função
As funções se comportam como miniscripts dentro do seu script principal, mas compartilham a memória do shell. Tenha esses três comportamentos específicos em mente ao escrevê-los.
Escopo Variável (Local vs. Global)
Variáveis dentro de funções são globais por padrão. Se você definir minha_var=”teste” dentro de uma função, ele substitui qualquer existente minha_var em seu roteiro. Sempre use local confinar variáveis à função evita efeitos colaterais:
local minha_var=”valor”
Parâmetros posicionais
Funções leem argumentos usando o mesmo $1, $2, e $@ variáveis como scripts. Eles são locais para a função e redefinidos quando a função é encerrada. Os argumentos originais do script não são acessíveis dentro da função, a menos que você os transmita explicitamente.
Valores de retorno
As funções Bash não retornam dados como funções Python ou JavaScript. O retornar O comando define apenas um status de saída (0-255) para indicar sucesso ou falha. Para retornar dados reais (como uma string ou cálculo), eco o resultado e capture-o ao chamar a função:
resultado=$(minha_função)
Os 10 principais exemplos úteis de funções Bash
Agora que você entende as funções Bash e como criá-las, aqui estão dez exemplos práticos que você pode adicionar aos seus scripts. Cada função resolve um problema comum e demonstra estrutura, argumentos e valores de retorno adequados.
1. Função de backup de arquivos
Cria um backup com carimbo de data/hora de qualquer arquivo:
arquivo_backup () {
arquivo local=”$1″
backup local=”${arquivo}.$(data +%Y%m%d_%H%M%S).bak”
if [ -f “$arquivo”]; então
cp “$arquivo” “$backup”
echo “Backup criado: $backup”
retornar 0
outro
echo “Erro: Arquivo não encontrado”
retornar 1
fi
}
Uso: arquivo_backup /etc/nginx/nginx.conf
2. Verificador de diretório
Verifica se existe um diretório e o cria, se necessário:
garantir_dir() {
diretório local=”$1″
se [ ! -d “$dir”]; então
mkdir -p “$dir”
echo “Criado: $dir”
fi
}
Uso: garantir_dir /var/log/myapp
3. Registrador com carimbo de data e hora
Adiciona carimbos de data/hora às mensagens de log para depuração:
log_mensagem() {
nível local=”$1″
mensagem local=”$2″
echo “[$(data ‘+%Y-%m-%d %H:%M:%S’)] [$nível] $mensagem”
}
Uso: log_message “INFO” “Script iniciado”
4. Monitor de espaço em disco
Verifica o uso do disco e avisa se exceder um limite:
check_disk_space () {
limite local=”${1:-80}”
uso local=$(df / | tail -1 | awk ‘{print $5}’ | tr -d ‘%’)
if [“$usage” -gt “$threshold”]; então
echo “Aviso: uso do disco em ${usage}%”
retornar 1
fi
retornar 0
}
Uso: check_disk_space 90
5. Validador de entrada
Valida que a entrada do usuário não está vazia:
validar_input() {
entrada local=”$1″
nome local=”$2″
if [ -z “$entrada”]; então
echo “Erro: $nome não pode estar vazio”
retornar 1
fi
retornar 0
}
Uso: validar_input “$ nome de usuário” “Nome de usuário”
6. Verificador de status de serviço
Verifica se um serviço está em execução e relata o status:
check_service() {
serviço local=”$1″
se systemctl estiver ativo –quiet “$service”; então
echo “$serviço está em execução”
retornar 0
outro
echo “$service não está rodando”
retornar 1
fi
}
Uso: check_service nginx
7. Extrator de extensão de arquivo
Extrai a extensão de um nome de arquivo:
get_extension() {
nome do arquivo local=”$1″
echo “${nome do arquivo##*.}”
}
Uso: ext=$(get_extension “document.pdf”)
8. Aparador de cordas
Remove espaços em branco à esquerda e à direita das strings:
trim_string() {
string local=”$1″
str=”${str#”${str%%[![:espaço:]]*}”}”
str=”${str%”${str##*[![:espaço:]]}”}”
eco “$str”
}
Uso: clean=$(trim_string ”olá mundo“)
9. Arquivador de arquivos seguro
Move um arquivo para um diretório $HOME/.trash personalizado em vez de excluí-lo permanentemente. Ele anexa um carimbo de data/hora ao nome do arquivo para evitar a substituição de backups anteriores.
safe_remove() {
arquivo local=”$1″
lixo local=”$HOME/.trash”
# Anexar carimbo de data/hora para evitar sobrescrever arquivos existentes
local novo_nome=”$(nome base “$arquivo”)_$(data +%s)”
mkdir -p “$ lixo”
if [ -e “$arquivo”]; então
mv “$arquivo” “$lixo/$novo_nome”
echo “Movido para arquivo: $file -> $trash/$new_name”
outro
echo “Erro: $arquivo não encontrado”
retornar 1
fi
}
Uso: safe_remove old_script.sh
10. Repórter de status
Demonstra o mecanismo de retorno da função Bash para tratamento de erros. O valor de retorno da função Bash indica sucesso (0) ou falha (diferente de zero):
dados_processo() {
arquivo local=”$1″
se [ ! -f “$arquivo”]; então
retornar 1
fi
# Processa o arquivo
gato “$arquivo” | wc-l
retornar 0
}
# Verifique o valor de retorno
process_data “dados.txt”
se [$? -eq 0]; então
echo “Processamento concluído”
outro
echo “Falha no processamento”
fi
O $? variável captura o status de saída do último comando ou chamada de função.
| Função | Propósito | Recurso principal |
| arquivo_backup | Crie backups de arquivos | Nomenclatura com carimbo de data e hora |
| garantir_dir | Gerenciamento de diretório | Cria se estiver faltando |
| mensagem_de_log | Registro | Prefixo de carimbo de data/hora |
| check_disk_space | Monitoramento do sistema | Alertas de limite |
| validar_input | Validação de entrada | Verificação de string vazia |
| check_service | Monitoramento de serviço | Integração do sistema |
| obter_extensão | Análise de string | Expansão de parâmetros |
| trim_string | Limpeza de string | Remoção de espaços em branco |
| remoção_segura | Exclusão segura | Diretório de lixo |
| dados_do_processo | Tratamento de erros | Valores de retorno |
Executando funções Bash em um VPS
As funções Bash tornam-se poderosas quando executadas em um ambiente de servidor dedicado. Nosso VPS Linux oferece acesso root total para personalizar seu ambiente shell, criar bibliotecas de funções em todo o sistema e automatizar tarefas de gerenciamento de servidor sem restrições.
Com um VPS você pode armazenar funções reutilizáveis em /etc/profile.d/ para todos os usuários, agende scripts baseados em funções por meio de tarefas cron e crie pipelines de automação para implantação e manutenção. Oferecemos servidores em 12 locais globais com velocidades de rede de até 40 Gbps e memória DDR5, o que significa execução de scripts mais rápida e processamento de dados mais suave.
Esse nível de controle torna um VPS ideal para qualquer pessoa séria em shell scripting e automação de sistema.
Conclusão
As funções Bash são essenciais para a criação de scripts modulares e reutilizáveis. Eles permitem agrupar comandos relacionados e encapsular lógica complexa para tornar seu código mais fácil de ler e manter. Se você gerencia infraestrutura em nuvem, automatiza pipelines de implantação ou lida com tarefas rotineiras de administração de sistema, as funções ajudam a manter seus scripts organizados e eficientes.
Neste artigo, abordamos os fundamentos das funções Bash, incluindo como defini-las e chamá-las, dez exemplos práticos de funções e casos de uso comuns para ajudá-lo a começar seus próprios projetos de automação.
Combinado com estruturas de controle como o Bash if declaração, as funções fornecem os blocos de construção para uma automação poderosa. Ao usar funções Bash em seus scripts, você pode escrever um código mais limpo e modular, mais fácil de entender e manter.