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 privilegiossudonano /etc/profile
# Dentro de /etc/profile (comentado para claridad)# Variable de entornoCURSO_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 variablesopcion=0nombre="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.shopcion=0nombre="Marco"# Disponible para procesos hijosexport 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.shecho"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.