为什么 bash 需要 && 在一行上回显变量?

Joe*_*oel 14 unix bash echo macos

为什么 SOMETHING=1 && echo $SOMETHING需要&&返回1
为什么不SOMETHING=1 echo $SOMETHING返回1

Spi*_*iff 10

因为 bash 在解释变量赋值语句之前会进行变量扩展。因此,由于之前未定义某些内容,因此您的命令变为……

SOMETHING=1 echo ''
Run Code Online (Sandbox Code Playgroud)

……然后被处决。