true
: Do nothing, successfullytrue
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.
However, 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.