阅读POSIX Shell 手册和Bash 手册后,我仍然无法解释以下行为:
% 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 的。
有人可以解释这种行为吗?如果可能的话,可以指出文档中解释的地方吗?
提前致谢!