Bash 什么是;声明+;x";平均值vs“;声明-x";?

Bash 什么是;声明+;x";平均值vs“;声明-x";?,bash,shell,Bash,Shell,下面声明+x做什么?(特定于Bash。)我理解declare-x,但不理解declare+x: function the_func { declare +x MY_VAR="new value" child-process } export MY_VAR="original" the_func 与 您将变量导出到环境中,而 declare +x MY_VAR="new value" 您可以从环境中删除该变量 一般来说,对于declare命令,使用+撤消-执行的操作 可以找到更多信息

下面
声明+x
做什么?(特定于Bash。)我理解
declare-x
,但不理解
declare+x

function the_func {
  declare +x MY_VAR="new value"
  child-process
}

export MY_VAR="original"
the_func

您将变量导出到环境中,而

declare +x MY_VAR="new value"
您可以从环境中删除该变量

一般来说,对于declare命令,使用+撤消-执行的操作


可以找到更多信息

查看命令:
帮助声明
声明-x
导出
不同,如果在函数中调用它,则声明-x将仅在函数范围内导出它,其中导出将导出到环境操作系统中
declare +x MY_VAR="new value"