Funções, Argumentos e Scripts Reutilizáveis
Torne seus scripts Bash modulares e fáceis de manter: defina funções, passe e valide argumentos de linha de comando, retorne valores e estruture scripts que possam ser reutilizados em muitas tarefas de automação de servidores.
Funções, Argumentos e Scripts Reutilizáveis é uma aula grátis de Linux Server Deployment & SSH Mastery no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Linux Server Deployment & SSH Mastery, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Linux Server Deployment & SSH Mastery inclui 4 aulas no total.
De scripts a ferramentas
Você pode escrever scripts, automatizar tarefas e lidar com erros. O próximo passo é tornar os scripts reutilizáveis: organizar o código em funções que aceitam argumentos, para que um único script possa atender a várias situações.
É assim que scripts descartáveis se transformam em verdadeiras ferramentas de administração.
Definindo uma função
Uma função do Bash agrupa comandos sob um nome. Defina-a uma vez e chame-a muitas vezes. O corpo fica entre chaves.
greet() {
echo 'Hello from the function!'
}
greetPassando argumentos para funções
As funções recebem argumentos por posição: $1, $2 e assim por diante. $@ representa todos os argumentos, e $# representa a quantidade.
greet() {
echo "Hello, $1! You are $2 years old."
}
greet Alice 30Argumentos no nível do script
As mesmas variáveis posicionais funcionam para o script inteiro. Execute ./deploy.sh staging v2 e o script lerá $1 como 'staging' e $2 como 'v2'.
#!/bin/bash
ENV=$1
VERSION=$2
echo "Deploying $VERSION to $ENV"Validando argumentos
Ferramentas robustas verificam sua entrada. Confirme a quantidade esperada de argumentos e saia exibindo uma mensagem de uso se eles estiverem ausentes.
if [ $# -lt 2 ]; then
echo "Usage: $0 <env> <version>"
exit 1
fiRetornando o status de funções
As funções retornam um status de saída por meio de return (0 = sucesso). Os chamadores verificam esse status com $? ou diretamente em um if.
is_root() {
[ "$(id -u)" -eq 0 ]
}
if is_root; then echo 'root'; else echo 'not root'; fiRetornando dados de funções
Para retornar dados reais (não apenas um status), use echo e capture o resultado com substituição de comando. O chamador atribui a saída a uma variável.
timestamp() {
date +%Y%m%d_%H%M%S
}
NOW=$(timestamp)
echo "Backup name: backup_$NOW"Variáveis locais
Por padrão, as variáveis do Bash são globais, o que causa erros entre funções. Declare as variáveis internas da função com local para mantê-las isoladas.
add() {
local result=$(( $1 + $2 ))
echo $result
}
echo "Sum: $(add 3 4)"Valores padrão e opções nomeadas
Forneça valores padrão sensatos com expansão de parâmetros e analise as opções para tornar as ferramentas mais amigáveis.
${1:-default}— use 'default' se$1não estiver definidogetopts— analise opções no estilo de-ve-f file
ENV=${1:-staging}
echo "Target environment: $ENV"Incluindo uma biblioteca de funções
Coloque as funções compartilhadas em seu próprio arquivo e use source para incluí-lo em vários scripts. Isso evita copiar e colar funções auxiliares em todos os lugares.
# in lib.sh: define log(), is_root(), etc.
source ./lib.sh
log 'Starting deployment'Práticas recomendadas
Escreva scripts fáceis de manter:
- Divida a lógica em funções pequenas e nomeadas
- Sempre valide os argumentos e exiba o uso
- Use
localpara as variáveis das funções - Compartilhe funções auxiliares por meio de um arquivo de biblioteca incluído
Verificação rápida
Teste seus conhecimentos sobre funções do Bash.
Recapitulação
Agora você consegue criar ferramentas Bash reutilizáveis:
- Defina funções e chame-as repetidamente
- Passe e valide argumentos (
$1,$@,$#) - Retorne status com
returne dados por meio deecho+ substituição de comando - Use variáveis
locale bibliotecas compartilhadas comsource
Esses padrões transformam scripts pontuais em um conjunto de ferramentas de automação fácil de manter.
Perguntas Frequentes
A aula “Funções, Argumentos e Scripts Reutilizáveis” é grátis?
Sim — o texto completo de “Funções, Argumentos e Scripts Reutilizáveis” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Linux Server Deployment & SSH Mastery, atualize para CoddyKit PRO. O curso de Linux Server Deployment & SSH Mastery inclui 4 aulas no total.
O que vou aprender em “Funções, Argumentos e Scripts Reutilizáveis”?
Torne seus scripts Bash modulares e fáceis de manter: defina funções, passe e valide argumentos de linha de comando, retorne valores e estruture scripts que possam ser reutilizados em muitas tarefas… Você pratica Linux Server Deployment & SSH Mastery com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Linux Server Deployment & SSH Mastery?
Nenhuma experiência prévia é necessária. Linux Server Deployment & SSH Mastery no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Funções, Argumentos e Scripts Reutilizáveis”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Linux Server Deployment & SSH Mastery?
Sim. Cada aula de Linux Server Deployment & SSH Mastery inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Introdução à Programação com Bash
- Automação de Tarefas do Servidor
- Tratamento de Erros e Geração de Registros em Scripts
- Funções, Argumentos e Scripts Reutilizáveis