Comando true de Linux

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

true [--help] [--version]

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:

  1. Cuando escribes en la terminaltruey presionas Enter
  2. El sistema ejecuta este comando
  3. El comando se completa inmediatamente, sin realizar ninguna operación
  4. 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

while true; do
    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

command || true

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

if [ condition ]; then
    :  # 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

$ type -a true
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

int main() {
    return 0;
}

Práctica

Intenta ejecutar directamente en la terminaltruey luego verifica el código de salida:

Ejemplo

true
echo $?  # Mostrará 0

Crea un script de bucle infinito que muestre la hora actual cada 5 segundos:

Ejemplo

#!/bin/bash
while true; do
    date
    sleep 5
done

Pruebatrueel comportamiento en evaluaciones de condición:

Ejemplo

if true; then
    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

Linux 命令大全Guía completa de comandos de Linux

Otras extensiones