7 variables de Bash que uso en casi todos mis scripts

Descubre las 7 variables Bash que todo programador usa: $0, $EUID, $UID y más. Aprende su significado y por qué son importantes para tus scripts.

miércoles, 29 de julio de 2026 • 3 min de lectura • Equipo Q2BSTUDIO

Variables Bash imprescindibles para tus scripts

Si trabajas con Bash de forma habitual, sabes que ciertas variables internas marcan la diferencia entre un script funcional y uno robusto. En Q2BSTUDIO, como empresa de desarrollo de software y tecnología, construimos aplicaciones a medida, integramos inteligencia artificial, desplegamos infraestructura cloud en AWS y Azure, y auditamos sistemas con ciberseguridad avanzada. En todos estos proyectos, los scripts Bash son el pegamento que automatiza procesos y garantiza consistencia. Por eso quiero compartir las siete variables que utilizo en prácticamente cada uno de mis scripts. Conocerlas te ayudará a escribir código más fiable, depurable y profesional.

1. $0 – El nombre del scriptEsta variable contiene la ruta o el nombre con el que se invocó el script. La uso para mostrar mensajes de uso personalizados (echo 'Uso: $0 [opciones]'), para registrar en logs qué script está ejecutándose, y para referenciar el propio fichero en operaciones de autorreparación. En entornos de automatización que desarrollamos, $0 permite identificar exactamente qué paso falló en una tubería de despliegue.

2. $? – Código de salida del último comandoTras ejecutar cualquier comando, $? guarda su estado de salida: 0 significa éxito, cualquier otro valor indica error. Esta variable es esencial para el control de flujo. En nuestros scripts de software a medida, validamos cada paso con if [ $? -ne 0 ]; then para, por ejemplo, revertir cambios en la nube si una actualización falla. También la empleamos en agentes IA que procesan datos de forma secuencial.

3. $# – Número de argumentosSaber cuántos argumentos recibió el script evita errores tontos. En un proceso de ingesta de datos para Business Intelligence, por ejemplo, exigimos al menos dos parámetros: el origen y el destino. if [ $# -lt 2 ]; then imprime el uso y sale. Esta validación es sencilla pero evita pérdidas de tiempo en entornos productivos.

4. $@ – Todos los argumentos como palabras separadasCuando necesitas pasar todos los argumentos a otro comando respetando las comillas, $@ es la opción correcta (a diferencia de $*). Lo usamos en scripts wrapper que invocan herramientas de ciberseguridad como escáneres de vulnerabilidades: nmap $@. De esta forma, mantenemos la flexibilidad sin perder la integridad de los parámetros.

5. $EUID – ID de usuario efectivoEsta variable muestra el UID bajo el que realmente se ejecuta el proceso. Si lanzas un script con sudo, $EUID valdrá 0 (root), mientras que $UID conserva el usuario original. La uso para comprobar privilegios antes de acceder a recursos protegidos del sistema, como instalar paquetes o modificar /etc. En despliegues cloud con AWS o Azure, es común ver if [ '$EUID' -ne 0 ]; then para forzar elevación de permisos.

6. $UID – ID de usuario realAunque menos utilizado directamente, $UID complementa a $EUID. Cuando un script necesita saber quién lo invocó (no quién lo ejecuta efectivamente), $UID da esa respuesta. En herramientas de auditoría que desarrollamos para clientes, registramos tanto $UID como $EUID para trazar la identidad en logs de ciberseguridad.

7. $BASH_VERSION – Versión de BashNo todos los sistemas tienen la misma versión de Bash. Con $BASH_VERSION podemos comprobar si el intérprete soporta características modernas como arrays asociativos o expansiones avanzadas. En proyectos de IA que requieren manipulación de grandes volúmenes de datos, nos aseguramos de que la versión sea 4.0 o superior. Este chequeo previo evita sorpresas en entornos legacy.

Estas siete variables son la base de casi cualquier script bien escrito. Dominarlas te permitirá construir automatizaciones más seguras, depurar errores con precisión y mantener un código portable. En Q2BSTUDIO las aplicamos a diario en el desarrollo de aplicaciones a medida, integraciones con Power BI, agentes de inteligencia artificial, y despliegues en cloud. Si necesitas un equipo que entienda la importancia de los detalles técnicos, no dudes en contactarnos.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.