Comando true de Linux
Guía completa de comandos de Linux
¿Qué es el comando true?
trueEs uno de los comandos más simples en los sistemas Linux/Unix, tiene una sola función:Siempre devuelve éxito (código de salida 0)。
Este comando parece simple, pero tiene usos importantes en la programación de scripts de shell. Equivale a una operación que "no hace nada pero siempre tiene éxito".
Sintaxis básica
Ejemplo
Descripción de opciones
| Opción | Descripción |
|---|---|
| --help | Muestra la información de ayuda y sale |
| --version | Muestra la información de versión y sale |
Cómo funciona
trueEl proceso de ejecución del comando es muy simple:
- Cuando escribes en la terminal
truey presionas Enter - El sistema ejecuta este comando
- El comando se completa inmediatamente, sin realizar ninguna operación
- Devuelve el código de salida 0 (que indica éxito)
Escenarios de aplicación práctica
1. Como condición para un bucle infinito
Ejemplo
echo "Esto es un bucle infinito"
sleep 1
done
En este ejemplo,while truese crea un bucle infinito, porquetruesiempre devuelve éxito (0), por lo que la condición del bucle siempre es verdadera.
2. Como operación exitosa predeterminada
Ejemplo
Esta notación indica que sicommandfalla la ejecución, entonces se ejecutatrue(siempre tiene éxito), de modo que se garantiza que toda la expresión siempre devuelva un estado de éxito.
3. Como marcador de posición en scripts
Ejemplo
: # No hace nada
else
true # También se puede expresar así para no hacer nada
fi
Aquítruesirve como sustituto de una operación vacía, haciendo que la estructura del código sea más clara.
Comparación con el comando false
En Linux también hay un comando correspondientefalseque siempre devuelve fallo (código de salida 1). La siguiente tabla muestra sus diferencias:
| Comando | Función | Código de salida | Uso típico |
|---|---|---|---|
| true | No hace nada, devuelve éxito | 0 | Bucles infinitos, ignorar errores |
| false | No hace nada, devuelve fallo | 1 | Probar manejo de errores, evaluación de condiciones |
Principio de implementación
En la mayoría de los sistemas Linux,truees un comando integrado (shell builtin), pero normalmente también tiene una versión binaria independiente:
Ejemplo
true is a shell builtin
true is /usr/bin/true
true is /bin/true
Su implementación es extremadamente simple, en C se puede representar como:
Ejemplo
return 0;
}
Práctica
Intenta ejecutar directamente en la terminaltruey luego verifica el código de salida:
Ejemplo
echo $? # Mostrará 0
Crea un script de bucle infinito que muestre la hora actual cada 5 segundos:
Ejemplo
while true; do
date
sleep 5
done
Pruebatrueel comportamiento en evaluaciones de condición:
Ejemplo
echo "Esto siempre se ejecuta"
fi
Preguntas frecuentes
P: ¿El comando true realmente no hace nada?R: Sí, no realiza ninguna operación real, solo devuelve un estado de salida exitoso.
P: ¿Por qué se necesita un comando aparentemente inútil?R: En la programación de scripts, a veces necesitamos un marcador de posición o condición que siempre tenga éxito,truetrue satisface exactamente esa necesidad.
P: ¿Cuál es la diferencia entre true y los dos puntos (:)?R: En la mayoría de los shells,:también es un comando que no hace nada, y su comportamiento estrueigual que el de true. Pero:es un comando integrado puro del shell, mientras quetruetrue puede tener una versión binaria independiente.
Resumen
trueEl comando, aunque simple, es una herramienta práctica en la programación de scripts de shell. Sus características principales incluyen:
- Siempre devuelve éxito (código de salida 0)
- No realiza ninguna operación real
- Se usa comúnmente para bucles infinitos, manejo de errores y marcadores de posición en el código