0Pricing
Linux Server Deployment & SSH Mastery · Aula

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!'
}

greet

Passando 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 30

Argumentos 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
fi

Retornando 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'; fi

Retornando 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 $1 não estiver definido
  • getopts — analise opções no estilo de -v e -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 local para 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 return e dados por meio de echo + substituição de comando
  • Use variáveis local e bibliotecas compartilhadas com source

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

  1. Introdução à Programação com Bash
  2. Automação de Tarefas do Servidor
  3. Tratamento de Erros e Geração de Registros em Scripts
  4. Funções, Argumentos e Scripts Reutilizáveis
← Voltar para Linux Server Deployment & SSH Mastery