Declare variable(s) and/or give them attributes.

      declare [-afFirtx] [-p] [name[=value] ...]

      typeset [-afFirtx] [-p] [name[=value] ...]

   -a     Each name is an array variable.

   -f     Use function names only.

   -F     Inhibit the display of function definitions (implies -f)
          only the function name and attributes are printed.

   -i     The variable is treated as an integer; arithmetic evaluation (see ARITHMETIC EVALUATION)
          is performed when the variable is assigned a value.

   -r     Make names readonly.  These names cannot then be assigned values by subsequent assignment
          statements or unset.

   -t     Give each name the trace attribute.
          Traced functions inherit the DEBUG and RETURN traps from the calling shell.
          The trace attribute has no  special  meaning  for variables.

   -x     Mark names for export to subsequent commands via the environment.

   -p     Display the attributes and values of each name.
          When -p is used, additional options are ignored.

If no names are given then display the values of variables.

Using '+' instead of '-' turns off the attribute instead, e.g. +i means don’t treat as an integer - one exception is that +a can not be used to destroy an array variable.

When used in a function, makes each name local, as with the local command.

If a variable name is followed by =value, the value of the variable is set to value

The return value is 0 unless an invalid option is encountered, an attempt is made to define a function using '-f foo=bar', an attempt is made to assign a value to a readonly variable, an attempt is made to assign a value to an array variable without using the compound assignment syntax (see Arrays above), one of the names is not a valid shell variable name, an attempt is made to turn off readonly status for a readonly variable, an attempt is made to turn off array status for an array variable, or an attempt is made to display a non-existent function with -f.

If the extdebug shell option is enabled using shopt, the source file name and line number where the function is defined are displayed as well.

declare is a bash builtin command

“I have nothing to declare but my genius” ~ Oscar Wilde

Related macOS commands

for - Expand words, and execute commands.
while - Loop to execute commands.
until - Loop to execute commands.

Copyright © 1999-2024
Some rights reserved