Porque o bash faz uma expansão de variável antes de interpretar instruções de atribuição de variáveis. Então, como ALGUMA COISA não foi definida anteriormente, seu comando se torna…
SOMETHING=1 echo ''
… então é executado.
Por que SOMETHING=1 && echo $SOMETHING
precisa de &&
para retornar 1
Por que não SOMETHING=1 echo $SOMETHING
return 1
exportar e ecoar ao mesmo tempo
root@kali:~# echo ${SOMETHING=1}
1
root@kali:~# echo $SOMETHING
1
root@kali:~# unset SOMETHING
root@kali:~# echo $SOMETHING
root@kali:~# echo ${SOMETHING=1}
1
root@kali:~#
Outro exemplo idiota xD
root@kali:~# echo ${SOMETHING=1} ${PLUS=+} ${SUMTHIN=2} ${EQUALS==} && expr $SOMETHING $PLUS $SUMTHIN
1 + 2 =
3
root@kali:~#