Declaración de Variables y Alcance en Bash Shell

Clase 6 de 43Curso de Programación en Bash Shell

Resumen

Aprende, paso a paso y sin rodeos, cómo manejar variables en Bash con enfoque práctico: define variables, entiende su alcance y configúralas a nivel de sistema y de usuario. Con ejemplos claros mencionados por el profesor Marco Toscano, dominarás comandos clave como sudo, export, chmod y la ejecución de scripts con ./.

¿Qué diferencia hay entre variables de entorno y de usuario en Bash?

Las variables se dividen en dos categorías: variables de entorno (a nivel del sistema operativo) y variables de usuario (dentro de un script). Las de entorno afectan a todos los usuarios y sesiones; las de usuario viven solo mientras corre el script que las define.

  • Variables de entorno: se configuran en archivos del sistema como /etc/profile. Requieren privilegios de administrador con sudo. Se exportan con el comando export.
  • Variables de usuario: se declaran directamente en el script sin tipo previo. Solo existen en ese proceso.
  • Convención: nombres en MAYÚSCULAS para entorno. Minúsculas o mixtas para variables internas del script.
  • Sensibilidad a mayúsculas/minúsculas: Linux es case-sensitive; comandos y nombres deben respetar minúsculas.

¿Cómo definir una variable de entorno en /etc/profile?

Para que esté disponible en todas las sesiones, añade la variable y expórtala.

# Editar con privilegios
sudo nano /etc/profile

# Dentro de /etc/profile (comentado para claridad)
# Variable de entorno
CURSO_NAME="Programación Bash"
export CURSO_NAME

# Guardar y salir (en editores tipo Vim: :wq)
# Efectos al reiniciar sesión o con reboot/login

Puntos clave: - Usa sudo para editar archivos de sistema. - export publica la variable al entorno de login. - Tras un reinicio de sesión, podrás leer CURSO_NAME en cualquier terminal.

¿Cómo declarar variables en un script Bash y mostrarlas?

En Bash, las variables se crean asignando un valor directo. No se usan tipos. Para imprimir, utiliza echo con $NOMBRE.

#!/usr/bin/env bash
# Programa para revisar la declaración de variables

opcion=0
nombre="Marco"

echo "Opción: $opcion"
echo "Nombre: $nombre"

Haz el archivo ejecutable y ejecútalo:

chmod +x variables.sh
./variables.sh

Buenas prácticas: - Citas para cadenas con espacios. - Usa echo "texto $variable" para interpolar valores. - Recuerda dar permisos con chmod +x cada vez que crees un nuevo script.

¿Qué comandos de apoyo se usaron en el flujo?

  • cp para copiar un script y reutilizar estructura.
  • ls para listar archivos y validar permisos.
  • cat para inspeccionar el contenido de los scripts.
  • Insert/Esc y :wq para editar y guardar en editores tipo Vim.

¿Cómo funciona el alcance de variables y el comando export entre scripts?

Por defecto, las variables del script solo existen en su proceso. Si quieres que otra ejecución o script hijo las vea, usa export en el proceso padre antes de lanzar el siguiente script.

Primer script (exporta nombre y llama a otro):

#!/usr/bin/env bash
# variables.sh

opcion=0
nombre="Marco"

# Disponible para procesos hijos
export nombre

echo "Opción: $opcion"
echo "Nombre: $nombre"

# Llamar al segundo script
./variables_2.sh

Segundo script (lee la variable exportada):

#!/usr/bin/env bash
# variables_2.sh

echo "Opción nombre pasada del script anterior: $nombre"

Pasos y consideraciones: - export marca nombre para heredarse a procesos hijos. - El segundo script no declara nombre; lo recibe del entorno del primero. - Si no exportas, $nombre no estará disponible en variables_2.sh. - Asegúrate de dar permisos de ejecución a ambos scripts.

¿Tienes dudas o quieres compartir tu forma de organizar variables y entorno en Bash? Deja tu comentario y cuéntanos tu experiencia.

      Declaración de Variables y Alcance en Bash Shell