[-1c?
@(#)$Id: type (AT&T Labs Research) 2008-01-08 $
]
[+NAME?\f?\f - create an instance of type \b\f?\f\b]
[+DESCRIPTION?\b\f?\f\b creates a variable for each \aname\a with enumeration type \b\f?\f\b where \b\f?\f\b is a type that has been created with the \benum\b(1) command.]
[+?The variable can have one of the following values\fvalues\f.  The the values are \fcase\fcase sensitive.]
[+?If \b=\b\avalue\a is omitted, the default is \fdefault\f.]
[+?If no \aname\as are specified then the names and values of all variables of this type are written to standard output.]
[+?\b\f?\f\b is built-in to the shell as a declaration command so that field splitting and pathname expansion are not performed on the arguments.  Tilde expansion occurs on \avalue\a.]
[r?Enables readonly.  Once enabled, the value cannot be changed or unset.]
[a?index array.  Each \aname\a will converted to an index array of type \b\f?\f\b.  If a variable already exists, the current value will become index \b0\b.]
[A?Associative array.  Each \aname\a will converted to an associate array of type \b\f?\f\b.  If a variable already exists, the current value will become subscript \b0\b.]
[h]:[string?Used within a type definition to provide a help string for variable \aname\a.  Otherwise, it is ignored.]
[S?Used with a type definition to indicate that the variable is shared by each instance of the type.  When used inside a function defined with the \bfunction\b reserved word, the specified variables will have function static scope.  Otherwise, the variable is unset prior to processing the assignment list.]
[p?Causes the output to be in a form of \b\f?\f\b commands that can be used as input to the shell to recreate the current type of these variables.]

[name[=value]...]

[+EXIT STATUS?]{
[+0?Successful completion.]
[+>0?An error occurred.]
}
[+SEE ALSO?\benum\b(1), \btypeset\b(1)]
