# The shopt builtin command The `shopt` builtin manages [shell options](/internals/shell_options.md), a set of boolean (`on`/`off`) configuration variables that control the behaviour of the shell. ## Synopsis shopt [-pqsu] [-o] ## Description Note: Some of these options and other shell options can also be set with [the set builtin](/commands/builtin/set.md). ### Options | Option | Description | |--------|--------------------------------------------------------------------------------------------------------------------------| | `-o` | Restrict the values of `` to only those also known by [the set builtin](/commands/builtin/set.md) | | `-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 `` or list all *enabled* options if no names are given | | `-u` | Disabe (unset) the shell options named by `` 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](/commands/builtin/set.md) - Internal: [List of shell options](/internals/shell_options.md)