true (Unix)

From Wikipedia, the free encyclopedia

In Unix-like operating systems, true is a command whose only function is to always return the value 0, which is regarded by the shell as the logical value true. It is usually employed in conditional statements and loops of shell scripts where Boolean conditions are given as the return value of a program. For example, the following Bourne shell script echos the string hello until interrupted:

while true
do
  echo hello
done

This program takes no "actual" parameters; in some versions, the standard parameter --help displays a usage summary and --version displays the program version.

true may also be written as a single colon (:). In that form, it is generally built into the shell, and may therefore be more efficient.

In its alias of :, true is often used (in POSIX-compatible shells such as the Bourne shell) as a dummy command when assigning default values to shell variables through the ${parameter:=word} parameter expansion form.[1] For example, from bashbug, the bug-reporting script for bash:

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

Contents

[edit] References

  1. ^ Shell Command Language: 2.6.2 Parameter Expansion – The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition

[edit] See also

[edit] External links

[edit] Manual pages