环境(ENVIRONMENT)

当一个程序执行时,它被赋予一个字符串数组,成为环境 environment。 它是一个 名称-值对 (name-value) 的列表,形式是 name=value.

shell 提供了多种操作环境的方法。启动时,shell 扫描自身的环境,为每个找到 的名字创建一个参数,自动地将它标记为 export (向子进程导出的)。被执行的命令继承了这个环境。 exportdeclare -x 命令允许参数和函数被加入到环境中或从环境中删除。如果环境中参数的值 被修改,新值成为环境的一部分,替换了旧值。所有被执行的命令继承的环境 包含 shell 的初始环境 (可能值被修改过),减去被 unset 命令删除的,加上通过 exportdeclare -x 命令添加的部分。

可以在任何 simple command 或函数的环境中设定暂时有效的参数,只要将参数赋值放在命令前面就可以了, 参见上面 PARAMETERS 的描述。这些赋值语句只在这个命令的环境中有效。

如果设置了内建命令 set-k 选项, 所有的 变量赋值都将放到命令的环境中,不仅是在命令名前面的那些。

bash 执行一个外部命令时,变量 _ 被设置为命令的文件全名,然后被传递到命令的环境之中。