Jump to content

true and false (commands)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by CBM (talk | contribs) at 14:02, 24 February 2010 (→‎Manual pages: rm boolean algebra category). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.


In Unix-like operating systems, true and false are commands whose only function is to always return the value 0 or 1.

Overview

The shell regards 0 as the logical value true and 1 as false. 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

It can be used to make a sequence of otherwise useful commands fail, as in the example:

make … && false

Setting a user's login shell to false, in /etc/passwd, effectively denies them access to an interactive shell, but their account may still be valid for other services, such as FTP.

The programs take 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`}}

See also

References

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

External links

Manual pages