true (Unix)
true (/bin/true
) ist ein Programm in Unix-Systemen. Sein Verhalten ist für UNIX-Systeme durch den POSIX-Standard[1] genormt.
Das Programm liefert bei der Ausführung den Rückgabewert 0, welcher konventionsgemäß von Shells bzw. deren Verzweigungskonstrukten als logisches wahr bzw. richtig interpretiert wird. stdout
bleibt leer. Sein sonstiges Verhalten entspricht dem anderer Kommandozeilenprogramme.
In manchen Shells ist true als built-in ausgeführt, um den sonst notwendigen zusätzlichen fork() zu ersparen und damit die Ausführungsgeschwindigkeit zu verbessern, allerdings stellt der POSIX-Standard (Base Specifications Issue 7, 2018 Edition) fest[1], dass true
aus Kompatibilitätsgründen weiterhin im Standard behalten wird. Unter Application Usage wird stattdessen das Null-Kommando (:
) empfohlen.[2]
Ebenso wie sein Schwesterprogramm false dient true dem Shellscripting, wo sie für Konditionsprüfungen eingesetzt werden.
Siehe auch
Weblinks
true(1)
: BSD-Variante – OpenBSD General Commands Manualtrue(1)
: GNU-Variante – Debian GNU/Linux Ausführbare Programme oder Shell-Befehle Handbuchseite
Einzelnachweise
- The Open Group Base Specifications Issue 7, 2018 edition; IEEE Std 1003.1-2017 (Revision of IEEE Std 1003.1-2008)
- wörtlich (ibd.): The special built-in utility
:
is sometimes more efficient than true.