Skip to content

# The shopt builtin command

The `shopt` builtin manages shell options, a set of boolean (`on`/`off`) configuration variables that control the behaviour of the shell.

## Synopsis

    shopt [-pqsu] [-o] <OPTNAME...>

## Description

Note: Some of these options and other shell options can also be set with the set builtin.

### Options

Option | Description
--- | ---
`-o` | Restrict the values of `<OPTNAME...>` to only those also known by the set builtin
`-p` | Print all shell options and their current value. Default.
`-q` | Quiet mode. Set exit code if named option is set. For multiple options: `TRUE` if all options are set, `FALSE` otherwise
`-s` | Enable (set) the shell options named by `<OPTNAME...>` or list all enabled options if no names are given
`-u` | Disabe (unset) the shell options named by `<OPTNAME...>` or list all disabled options if no names are given

As noted above, if only `-s` or `-u` are given without any option names, only the currently enabled (`-s`) or disabled (`-u`) options are printed.

### Exit code

When listing options, the exit code is `TRUE` (0), if all options are enabled, `FALSE` otherwise.

When setting/unsetting an option, the exit code is `TRUE` unless the named option doesn't exitst.

## Examples

Enable the `nullglob` option:

    shopt -s nullglob

## Portability considerations

The `shopt` command is not portable accross different shells.

## See also

- Internal: The set builtin command
- Internal: List of shell options

November 7, 2024
November 7, 2024

## Comments