Variables 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=valor

Comillas simples vs dobles

TipoExpande variablesExpande $(cmd)Uso
'cadena'NoNoTexto literal
"cadena"Texto con variables
`cmd` / $(cmd)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

VariableSignificado
$0Nombre 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

ErrorCorrecto
VAR = valorVAR=valor
if [ $VAR == x ]if [ "$VAR" == "x" ]
if [ cond ] thenif [ cond ]; then
for i in 1..10for 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