bash-源内置和$HISTCMD变量

bash-源内置和$HISTCMD变量,bash,Bash,我遇到了bash“source”内置程序在显示$HISTCMD环境变量时出现的意外行为 我有一个init_things文件,其中包含: echo $HISTCMD 我在bash shell中键入以下内容: $> echo $HISTCMD 100 $> cat init_things echo $HISTCMD $> source init_things 1 我希望最后一个命令显示102。 我在zsh外壳上试过;它按预期显示102 有没有办法让bash按照我的预期运行?

我遇到了bash“source”内置程序在显示
$HISTCMD
环境变量时出现的意外行为

我有一个
init_things
文件,其中包含:

echo $HISTCMD
我在bash shell中键入以下内容:

$> echo $HISTCMD
100

$> cat init_things
echo $HISTCMD

$> source init_things
1
我希望最后一个命令显示102。 我在zsh外壳上试过;它按预期显示102

有没有办法让bash按照我的预期运行?(没有在“init_things”中将HISTCMD值重置为1)

bash为什么会这样做?(我在bash手册页中找不到答案)

它与bash的“交互性”有关吗

bash版本:4.3

zsh版本5.1


显然,设置历史选项解决了我的问题<代码>设置-o历史记录在我的初始化中,默认情况下,文件脚本不使用历史记录OK。对于分叉的bash脚本来说,这似乎很自然,但对于源代码脚本来说,这并不明显,因为我们仍然处于相同的bash过程中。谢谢你的回答。