info coreutils 'true invocation'

"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 >&-
     ./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."

Presumably you wouldn't actually use --help or --version when using true as a 
place-holder.

However, that "secure" thing means "less likely that someone can bust into your 
system if they manage to cause an IO error when a script uses true 
--version/--help".

I like the last line. Would an execution of IEFBR14 (followed by nothing else) 
at log-on be a way of disabling an account?

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to