set [ {+|-}options | {+|-}o [ option_name ] ] ... [ {+|-}A [ name ] ] [ arg ... ] Set the options for the shell and/or set the positional parame- ters, or declare and set an array. If the -s option is given, it causes the specified arguments to be sorted before assigning them to the positional parameters (or to the array name if -A is used). With +s sort arguments in descending order. For the meaning of the other flags, see zshoptions(1). Flags may be specified by name using the -o option. If no option name is sup- plied with -o, the current option states are printed: see the description of setopt below for more information on the format. With +o they are printed in a form that can be used as input to the shell. If the -A flag is specified, name is set to an array containing the given args; if no name is specified, all arrays are printed together with their values. If +A is used and name is an array, the given arguments will re- place the initial elements of that array; if no name is speci- fied, all arrays are printed without their values. The behaviour of arguments after -A name or +A name depends on whether the option KSH_ARRAYS is set. If it is not set, all ar- guments following name are treated as values for the array, re- gardless of their form. If the option is set, normal option processing continues at that point; only regular arguments are treated as values for the array. This means that set -A array -x -- foo sets array to `-x -- foo' if KSH_ARRAYS is not set, but sets the array to foo and turns on the option `-x' if it is set. If the -A flag is not present, but there are arguments beyond the options, the positional parameters are set. If the option list (if any) is terminated by `--', and there are no further arguments, the positional parameters will be unset. If no arguments and no `--' are given, then the names and values of all parameters are printed on the standard output. If the only argument is `+', the names of all parameters are printed. For historical reasons, `set -' is treated as `set +xv' and `set - args' as `set +xv -- args' when in any other emulation mode than zsh's native mode.