Options are settings that change shell and/or script behavior.
The set command enables options within a script. At the point in the script where you want the options to take effect, use set -o option-name or, in short form, set -option-abbrev. These two forms are equivalent.
#!/bin/bash
set -o verbose
# Echoes all commands before executing.
|
#!/bin/bash
set -v
# Exact same effect as above.
|
![]() | To disable an option within a script, use set +o option-name or set +option-abbrev. |
#!/bin/bash
set -o verbose
# Command echoing on.
command
...
command
set +o verbose
# Command echoing off.
command
# Not echoed.
set -v
# Command echoing on.
command
...
command
set +v
# Command echoing off.
command
exit 0
|
An alternate method of enabling options in a script is
to specify them immediately following the
#!/bin/bash -x
#
# Body of script follows.
|
It is also possible to enable script options from the command
line. Some options that will not work with
set are available this way. Among these
are
The following is a listing of some useful options. They may be
specified in either abbreviated form (preceded by a single dash)
or by complete name (preceded by a double
dash or by
Table 30-1. Bash options
| Abbreviation | Name | Effect |
|---|---|---|
| noclobber | Prevent overwriting of files by redirection (may be overridden by >|) | |
| (none) | List double-quoted strings prefixed by $, but do not execute commands in script | |
| allexport | Export all defined variables | |
| notify | Notify when jobs running in background terminate (not of much use in a script) | |
| (none) | Read commands from ... | |
| errexit | Abort script at first error, when a command exits with non-zero status (except in until or while loops, if-tests, list constructs) | |
| noglob | Filename expansion (globbing) disabled | |
| interactive | Script runs in interactive mode | |
| noexec | Read commands in script, but do not execute them (syntax check) | |
| (none) | Invoke the Option-Name option | |
| POSIX | Change the behavior of Bash, or invoked script, to conform to POSIX standard. | |
| pipe failure | Causes a pipeline to return the exit status of the last command in the pipe that returned a non-zero return value. | |
| privileged | Script runs as "suid" (caution!) | |
| restricted | Script runs in restricted mode (see Chapter 21). | |
| stdin | Read commands from | |
| (none) | Exit after first command | |
| nounset | Attempt to use undefined variable outputs error message, and forces an exit | |
| verbose | Print each command to | |
| xtrace | Similar to | |
| (none) | End of options flag. All other arguments are positional parameters. | |
| (none) | Unset positional parameters.
If arguments given ( |