Articulo de referencia

verdadero y falso (órdenes)

true y false son comandos de shell que finalizan inmediatamente con estado de salida 0 o 1, respectivamente. Dado que un script establece su estado de salida de proceso al valor...

truey falseson comandos de shell que finalizan inmediatamente con estado de salida 0 o 1, respectivamente. Dado que un script establece su estado de salida de proceso al valor del último comando que ejecuta, estos comandos se pueden usar para establecer el estado de salida de la ejecución de un script. Todos los shells de Unix interpretan un estado de salida de cero como éxito y distinto de cero (generalmente) como fallo, por lo que establece éxito y establece fallo. [ Nota 1 ]truefalse

Los comandos están disponibles en sistemas operativos tipo Unix .

Usar

Los comandos se suelen emplear en sentencias condicionales y bucles de scripts de shell . Por ejemplo, el siguiente script se ejecuta repetidamente echo hellohasta que se interrumpe:

mientras sea verdadero , haz eco hola hecho

Los comandos se pueden usar para ignorar el éxito o el fracaso de una secuencia de otros comandos, como en el ejemplo:

hacer && falso

Configurar el shell de inicio de sesión de un usuario como falso en /etc/passwd le niega efectivamente el acceso a un shell interactivo, pero su cuenta aún puede ser válida para otros servicios, como FTP . (Aunque /sbin/nologin , si está disponible, podría ser más apropiado para este propósito, ya que imprime una notificación antes de finalizar la sesión).

Los programas no aceptan argumentos de línea de comandos, excepto que la versión GNU acepta las --helpopciones típicas --version.

Comando nulo

El comando true a veces se sustituye por el comando null, muy similar, [ 1 ] escrito como un solo punto ( :). El comando null está integrado en el intérprete de comandos y, por lo tanto, puede ser más eficiente si true es un programa externo ( true suele ser una función integrada del intérprete de comandos). Podemos reescribir el ejemplo anterior usando :en lugar de true:

mientras : hacer echo hola hecho

El comando nulo puede tomar parámetros, los cuales se ignoran. También se utiliza como un comando ficticio que no realiza ninguna operación para efectos secundarios, como la asignación de valores predeterminados a variables de shell a través del ${parameter:=word}formulario de expansión de parámetros. [ 2 ] Por ejemplo, de bashbug , el script de informe de errores para Bash :

: ${ TMPDIR :=/tmp } : ${ EDITOR = $DEFEDITOR } : ${ USER = ${ LOGNAME - ` whoami ` }}

Emoticonos nulos

Cualquiera de truelos dos :puede usarse como reemplazo de , por lo que hay 3 "emoticonos nulos":cat/dev/null

:>- crear un archivo o vaciarlo si ya existe;
:>>- crea un archivo si no existe, a diferencia touchde no cambiar la marca de tiempo de un archivo existente;
:|- se puede utilizar en lugar de< /dev/null

Este uso es similar al uso estándar de la IEFBR14 .

Véase también

Notas

  1. Estos valores son distintos de los valores de verdad de la lógica clásica y de la mayoría de los lenguajes de programación de propósito general: verdadero (1 o T) y falso (0 o ⊥) . Cabe destacar que una función integradatrueestablece el estado de salida, mientras que el programatruelo devuelve, con el mismo efecto.

Referencias

  1. "Dos puntos" , Especificaciones base del grupo Open, número 7 , IEEE std 1003.1-2008, archivado del original el 27/04/2014 , recuperado el 04/08/2011.
  2. Cooper, Mendel (abril de 2011), "Comando nulo" , Guía avanzada de scripting de Bash, 6.3 , Proyecto de documentación de Linux, archivado del original el 3 de junio de 2019 , consultado el 4 de agosto de 2011.

Páginas del manual

  • verdadero(1) : No hacer nada, con éxito – Referencia de GNU Coreutils
  • false(1) : No hacer nada, sin éxito – Referencia de GNU Coreutils
  • verdadero(1) : Devuelve el valor verdadero – página del manual de FreeBSD
  • false(1) : Devuelve un valor falso – Página del manual de FreeBSD