manpagez: man pages & more
info coreutils
Home | html | info | man
[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

16.2 true: Do nothing, successfully

true does nothing except return an exit status of 0, meaning success. It can be used as a place holder in shell scripts where a successful command is needed, although the shell built-in command : (colon) may do the same thing faster. In most modern shells, true is a built-in command, so when you use ‘true’ in a script, you're probably using the built-in command, not the one documented here.

true honors the ‘--help’ and ‘--version’ options.

Note, however, that it is possible to cause true to exit with nonzero status: with the ‘--help’ or ‘--version’ option, and with standard output already closed or redirected to a file that evokes an I/O error. For example, using a Bourne-compatible shell:

$ ./true --version >&-
./true: write error: Bad file number
$ ./true --version > /dev/full
./true: write error: No space left on device

This version of true is implemented as a C program, and is thus more secure and faster than a shell script implementation, and may safely be used as a dummy shell for the purpose of disabling accounts.

© 2000-2021
Individual documents may contain additional copyright information.