参数(PARAMETERS)

一个参数 parameter 是一个储存值的实体。它可以是一个名称 name, 一个数字或者是下面 Special Parameters 特殊参数 章节中列出的特殊字符之一。从 shell 的角度来看,一个变量 variable 是一个由名称 name 代表的参数。一个变量有一个值 value 以及零个或多个属性 attibutes。属性可以使用内建命令 declare 来设置(参见下面 shell内建命令(SHELLBUILTINCOMMANDS) 章节中对 declare 的描述)。

如果给一个参数赋值,那么它就被定义了。空字符串是有效的值。一旦一个变量被定义了,它只能用内建命令 unset 来取消(参见下面 shell 内建命令(SHELL BUILTIN COMMANDS) 章节).

一个变量 variable 可以用这样的语句形式来赋值:

name=[value]

如果没有给出值 value, 变量就被赋为空字符串。所有值 values 都经过了波浪线扩展,参数和变量扩展,命令替换,算术扩展和引用的删除(参见下面的 EXPANSION 扩展 章节)。如果变量设置了 integer 整数 属性,那么值 value 将进行算术扩展,即使没有应用 $((...)) 扩展 (参见下面的 Arithmetic Expansion 算术扩展 章节)。 不会进行词的拆分,除非是下面 Special Parameters 特殊参数 中提到的 "$@"。 不会进行路径的扩展。赋值语句也出现在下列内建命令中,作为它们的参数: declare, typeset, export, readonly, 和 local