Bash - 命令和变量扩展

时间:2014-01-10 00:20:32

标签: linux bash shell environment-variables variable-expansion

在阅读POSIX Shell manualBash manual后,我仍然无法解释以下行为:

% bash --version
GNU bash, version 3.2.48(1)-release (x86_64-unknown-linux-gnu)
Copyright (C) 2007 Free Software Foundation, Inc.
% bash
% A=1 B=$A bash -c 'echo $B'
1
% A=1 B=$A bash -c 'echo $B'

%

像zsh或ksh这样的其他shell正在做我期望的事情,那就是一直显示“1”。所以它似乎特定于Bash。

有人可以解释这种行为吗?如果可能,请指出文档中的解释位置?

提前致谢!

1 个答案:

答案 0 :(得分:0)

此行为似乎特定于Bash 3.2,并且该代码段在更高版本中的预期效果为4.2。