为什么“ A = 3; A = 4 echo $ A”在Bash中产生3(而不是4)?

如果我理解正确,语法

Var=<something> command 

在将Var设置为“ something”后应运行命令。那为什么"A=3; A=4 echo $A"会在我的bash中产生3个?

ddrcon 回答:为什么“ A = 3; A = 4 echo $ A”在Bash中产生3(而不是4)?

bash中的变量是在执行开始之前而不是执行期间进行评估的,因此我们对命令进行了预处理:

A=4 echo $A

$A被评估为A的当前值,并在执行以下操作之前将其替换为:

A=4 echo 3

然后才执行它,A将值更改为4,并打印3。

,

这是因为您没有在第二个变量赋值之后放置分号。

请尝试以下操作:

A=3; A=4; echo $A
本文链接:https://www.f2er.com/3159407.html

大家都在问