Funciones, argumentos y scripts reutilizables
Haga que sus scripts de Bash sean modulares y fáciles de mantener: defina funciones, pase y valide argumentos de la línea de comandos, devuelva valores y estructure scripts que pueda reutilizar en muchas tareas de automatización de servidores.
Funciones, argumentos y scripts reutilizables es una lección gratuita de Linux Server Deployment & SSH Mastery en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Linux Server Deployment & SSH Mastery, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Linux Server Deployment & SSH Mastery incluye 4 lecciones en total.
De los scripts a las herramientas
Puede escribir scripts, automatizar tareas y gestionar errores. El siguiente paso es hacer que los scripts sean reutilizables: organizar el código en funciones que acepten argumentos, de modo que un solo script pueda servir para muchas situaciones.
Así es como los scripts temporales se convierten en verdaderas herramientas de administración.
Definir una función
Una función de Bash agrupa comandos bajo un nombre. Defínala una vez y llámela muchas veces. El cuerpo se coloca entre llaves.
greet() {
echo 'Hello from the function!'
}
greetPasar argumentos a las funciones
Las funciones reciben los argumentos por posición: $1, $2, etc. $@ representa todos los argumentos y $# es la cantidad.
greet() {
echo "Hello, $1! You are $2 years old."
}
greet Alice 30Argumentos del nivel del script
Las mismas variables posicionales funcionan para todo el script. Ejecute ./deploy.sh staging v2 y el script leerá $1 como 'staging' y $2 como 'v2'.
#!/bin/bash
ENV=$1
VERSION=$2
echo "Deploying $VERSION to $ENV"Validar argumentos
Las herramientas robustas comprueban sus entradas. Verifique el número esperado de argumentos y salga mostrando un mensaje de uso si faltan.
if [ $# -lt 2 ]; then
echo "Usage: $0 <env> <version>"
exit 1
fiDevolver el estado desde las funciones
Las funciones devuelven un estado de salida mediante return (0 = éxito). Los procesos que las llaman lo comprueban con $? o directamente en un if.
is_root() {
[ "$(id -u)" -eq 0 ]
}
if is_root; then echo 'root'; else echo 'not root'; fiDevolver datos desde las funciones
Para devolver datos reales (no solo un estado), muéstrelos con echo y captúrelos mediante sustitución de comandos. El proceso que llama a la función asigna la salida a una variable.
timestamp() {
date +%Y%m%d_%H%M%S
}
NOW=$(timestamp)
echo "Backup name: backup_$NOW"Variables locales
De forma predeterminada, las variables de Bash son globales, lo que provoca errores entre funciones. Declare con local las variables internas de una función para mantenerlas aisladas.
add() {
local result=$(( $1 + $2 ))
echo $result
}
echo "Sum: $(add 3 4)"Valores predeterminados y opciones con nombre
Proporcione valores predeterminados razonables mediante la expansión de parámetros y analice las opciones para crear herramientas más fáciles de usar.
${1:-default}— utiliza 'default' si$1no está definidogetopts— analiza opciones con el estilo de-vy-f file
ENV=${1:-staging}
echo "Target environment: $ENV"Cargar una biblioteca de funciones
Coloque las funciones compartidas en su propio archivo y use source desde varios scripts. Así evitará copiar y pegar funciones auxiliares por todas partes.
# in lib.sh: define log(), is_root(), etc.
source ./lib.sh
log 'Starting deployment'Prácticas recomendadas
Escriba scripts fáciles de mantener:
- Divida la lógica en funciones pequeñas y con nombre
- Valide siempre los argumentos e imprima el uso
- Utilice
localpara las variables de las funciones - Comparta funciones auxiliares mediante un archivo de biblioteca cargado con
source
Comprobación rápida
Compruebe sus conocimientos sobre las funciones de Bash.
Resumen
Ahora puede crear herramientas reutilizables de Bash:
- Defina funciones y llámelas repetidamente
- Pase y valide argumentos (
$1,$@,$#) - Devuelva estados con
returny datos medianteechoy la sustitución de comandos - Utilice variables
localy bibliotecas compartidas consource
Estos patrones convierten los scripts puntuales en un conjunto de herramientas de automatización fácil de mantener.
Preguntas frecuentes
¿La lección «Funciones, argumentos y scripts reutilizables» es gratis?
Sí — el texto completo de «Funciones, argumentos y scripts reutilizables» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Linux Server Deployment & SSH Mastery, actualiza a CoddyKit PRO. El curso de Linux Server Deployment & SSH Mastery incluye 4 lecciones en total.
¿Qué aprenderé en «Funciones, argumentos y scripts reutilizables»?
Haga que sus scripts de Bash sean modulares y fáciles de mantener: defina funciones, pase y valide argumentos de la línea de comandos, devuelva valores y estructure scripts que pueda reutilizar en mu… Practicas Linux Server Deployment & SSH Mastery con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Linux Server Deployment & SSH Mastery?
No se requiere experiencia previa. Linux Server Deployment & SSH Mastery en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Funciones, argumentos y scripts reutilizables»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Linux Server Deployment & SSH Mastery?
Sí. Cada lección de Linux Server Deployment & SSH Mastery incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Introducción a los scripts de Bash
- Automatización de tareas del servidor
- Gestión de errores y registros en scripts
- Funciones, argumentos y scripts reutilizables