🖥️ Bash Scripting
▶ Practicar este temaVariables y tipos
En Bash todas las variables son cadenas de texto. No hay tipado estricto.
✅ Correcto
NOMBRE="Linux" # cadena con espacios → comillas NUMERO=42 # número como cadena LISTA=(uno dos tres) # array indexado FECHA=$(date +%Y%m%d) # sustitución de comando
❌ Error típico de examen
NOMBRE = "Linux" # ERROR: espacios alrededor de = NUMERO= 42 # ERROR: espacio después de =
💡 En Bash, las asignaciones NO tienen espacios:
VAR=valorComillas simples vs dobles
| Tipo | Expande variables | Expande $(cmd) | Uso |
|---|---|---|---|
'cadena' | No | No | Texto literal |
"cadena" | Sí | Sí | Texto con variables |
`cmd` / $(cmd) | — | Sí | Sustitución de comando |
Ejemplo
NOMBRE="Ana" echo 'Hola $NOMBRE' # → Hola $NOMBRE (literal) echo "Hola $NOMBRE" # → Hola Ana (expande) echo "Hoy: $(date +%d/%m/%Y)" # → Hoy: 11/06/2026
Paso de argumentos a scripts
| Variable | Significado |
|---|---|
$0 | Nombre del script |
$1, $2... | Argumentos posicionales |
$# | Número de argumentos |
$@ | Todos los argumentos (como lista) |
$* | Todos los argumentos (como cadena) |
$? | Código de salida del último comando |
$$ | PID del proceso actual |
Funciones en Bash
✅ Sintaxis correcta
nombre_funcion() {
echo "Hola, $1" # $1 es el primer argumento de la función
return 0 # código de salida
}
# Llamada:
nombre_funcion "Alumno"
💡 Las variables son globales por defecto. Usa
local VAR para variables locales a la función.Errores comunes de sintaxis en examen
| Error | Correcto |
|---|---|
VAR = valor | VAR=valor |
if [ $VAR == x ] | if [ "$VAR" == "x" ] |
if [ cond ] then | if [ cond ]; then |
for i in 1..10 | for i in {1..10} |
Función sin () | nombre() { ... } |
¿Listo para practicar?
Pon a prueba estos conceptos con ejercicios interactivos con corrección automática.
▶ Ir a los ejercicios de Bash Scripting