En sistemas operativos tipo Unix , true
y false
son comandos cuya única función es volver siempre con un estado de salida predeterminado . Los programadores y los scripts a menudo usan el estado de salida de un comando para evaluar el éxito (estado de salida cero) o el fracaso (distinto de cero) del comando. Los comandos true
y false
representan los valores lógicos del éxito del comando, porque verdadero devuelve 0 y falso devuelve 1. [Nota 1]
Versión inicial | Enero de 1979 |
---|---|
Sistema operativo | Unix y similar a Unix |
Plataforma | Multiplataforma |
Tipo | Mando |
Uso
Los comandos se emplean generalmente en declaraciones condicionales y bucles de scripts de shell . Por ejemplo, el siguiente script de shell repite el ciclo de saludo de eco hasta que se interrumpe:
mientras es cierto, haz eco hola hecho
Los comandos se pueden utilizar 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 en falso , en / etc / passwd , le niega efectivamente el acceso a un shell interactivo, pero su cuenta puede seguir siendo válida para otros servicios, como FTP . (Aunque / sbin / nologin , si está disponible, puede ser más apropiado para este propósito, ya que imprime una notificación antes de terminar la sesión).
Los programas no toman parámetros "reales"; en la versión GNU, el parámetro estándar --help
muestra un resumen de uso y --version
muestra la versión del programa.
Comando nulo
El comando verdadero a veces se sustituye por el comando nulo muy similar, [1] escrito como dos puntos simples ( :
). El comando nulo está integrado en el shell y, por lo tanto, puede ser más eficiente si true es un programa externo ( true suele ser una función integrada en el shell). Podemos reescribir el ejemplo superior usando en :
lugar de true
:
mientras que : do echo hola hace
El comando nulo puede tomar parámetros, que se ignoran. También se utiliza como un comando ficticio no operativo para efectos secundarios, como la asignación de valores predeterminados a las 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 }
: $ { USUARIO = $ { LOGNAME - ` whoami ' }}
Ver también
Notas
- ^ No confundir con los valores de verdad de la lógica clásica : verdadero (1 o T) y falso (0 o ⊥) .
Referencias
- ^ "Colón" , Especificaciones básicas del grupo abierto, número 7 , IEEE std 1003.1-2008
- ^ Cooper, Mendel (abril de 2011), "comando nulo", Avanzada Guía de Bash-scripting, 6.3 , El proyecto de documentación de Linux , recuperada 2011-08-04
enlaces externos
- The Single UNIX Specification , Issue 7 from The Open Group : return true value - Commands & Utilities Reference,
- The Single UNIX Specification , Issue 7 from The Open Group : return false value - Commands & Utilities Reference,