Variables en Scripts
Parte de la sección Fundamentos del Journey de Terminal de Coddy. Lección 68 de 82.
Las variables hacen que tus scripts sean flexibles y reutilizables. En lugar de codificar valores directamente, puedes almacenarlos en variables y hacer referencia a ellos en todo tu script.
Para crear una variable dentro de un script, usa la misma sintaxis que aprendiste para la terminal: no pongas espacios alrededor del signo igual. Para usar el valor de la variable, antepone un signo de dólar a su nombre:
#!/bin/bash
greeting="Hello"
name="World"
echo "$greeting, $name!"Este script muestra Hello, World!. Las variables greeting y name almacenan texto que se sustituye cuando se ejecuta el script.
Las variables resultan especialmente útiles cuando necesitas usar el mismo valor varias veces. Si haces referencia a una ruta de archivo en varios lugares, almacenarla en una variable significa que solo necesitas cambiarla una vez:
#!/bin/bash
backup_dir="/home/user/backups"
echo "Creating backup in $backup_dir"
mkdir -p "$backup_dir"Observa las comillas alrededor de "$backup_dir". Encerrar las variables entre comillas dobles es una buena práctica porque gestiona correctamente las rutas o los valores que contienen espacios. Sin comillas, una ruta como /my documents interrumpiría tu comando.
Las variables en los scripts funcionan igual que en la terminal, pero existen solo mientras se ejecuta el script. Una vez que el script termina, esas variables desaparecen.
Desafío
FácilCrea un script de shell llamado intro.sh que use variables para mostrar un mensaje personalizado.
Tu script debe:
- Comenzar con la línea shebang (
#!/bin/bash) - Crear una variable llamada
languagecon el valorBash - Crear una variable llamada
skillcon el valorscripting - Usar
echopara imprimir ambas variables con el formato:Learning Bash scripting!
Haz que el script sea ejecutable y ejecútalo. Tu salida debe ser:
Learning Bash scripting!Encierra cada línea que escribas entre comillas simples:
echo 'echo "Hello $name"' >> script.sh. Las comillas simples impiden que el shell reemplace$namemientras se escribe el archivo, por lo que el script conserva la variable y la expande cuando se ejecuta. Las comillas dobles sustituirían el valor inmediatamente.
Consejo: Crea el script usando
echocon redirección. Recuerda referenciar las variables con$en tu instrucción echo, comoecho "Learning $language $skill!"
Pruébalo tú mismo
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Directorios
Crear Un DirectorioCopiar Un DirectorioMover Y Renombrar Un DirectorioEliminar Un DirectorioResumen - Operaciones Con Directorios7Contenido de Archivos
Head y TailConteo de PalabrasComando SortComando UniqGrep BásicoGrep con FlagsResumen - Detective de Texto10Proyecto Analizador de Registros
Resumen del ProyectoVisualizando el Archivo de Registro13Fundamentos de Scripting en Shell
Qué es un Script de ShellCrear y Ejecutar un ScriptVariables en ScriptsEntrada de Usuario en ScriptsSentencia IfBucle ForBucle WhileRepaso - Adivina el Número2Navegación
Imprimir Directorio de TrabajoListar ArchivosCambiar de DirectorioRutas Absolutas vs RelativasDirectorio Home y RaízRepaso - Encuentra tu Camino8Redirección
Salida EstándarSobrescribir en un ArchivoAnexar a un ArchivoEntrada EstándarError EstándarResumen - Constructor de Registro11Permisos
Entendiendo PermisosLeyendo PermisosChmod con NúmerosChmod con SímbolosPropiedad de ArchivosResumen - Bloquéalo14Proyecto de Script de Copia de Seguridad
Visión General del ProyectoObteniendo la Ruta de Origen3Archivos
Crear un ArchivoLeer un ArchivoCopiar un ArchivoMover y Renombrar un ArchivoEliminar un ArchivoResumen - Operaciones con Archivos6Comodines y Patrones
El comodín asteriscoEl comodín interroganteComodines de corchetesCombinando comodinesRepaso - Operaciones selectivas9Tuberías
Qué es una tuberíaEncadenando dos comandosEncadenando múltiples comandosTubería con GrepResumen - Tubería de datosPractica por tu cuenta: Playground de Terminal