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

Einzelnachweise

  1. a b The Open Group Base Specifications Issue 7, 2018 edition; IEEE Std 1003.1-2017 (Revision of IEEE Std 1003.1-2008)
  2. wörtlich (ibd.): The special built-in utility : is sometimes more efficient than true.