我试图了解当命令采用表单时 posix shell 的行为方式,
# variable assignment followed by a shell built-ins.
var=value shell_builtins;
在这样的场景中,posix手册说,
如果命令名称是特殊的内置实用程序,则变量赋值将影响当前的执行环境。 来源
对我来说,这似乎表明变量
var
将可供同一命令行会话中的所有后续命令访问。然而,
$var=value pwd
/home/red
$echo ${var}
#prints nothing
我错过了什么?
我还使用
bash --posix
在 posix 模式下尝试了 bash。结果是一样的。
pwd
不是一个特殊的内置实用程序。特殊的内置实用程序有 break
、:
、continue
、.
、eval
、exec
、exit
、export
、readonly
、set
、 ,
shift
、
times
和
trap
。参见:
unset