Esta linha
x=123 echo $x
é avaliado na seguinte ordem:
-
$xé expandido para o valor dexno shell atual . - O valor de
xno ambiente do comando a ser executado é definido como 123 - A linha de comando expandida é pesquisada por um comando e
echoé encontrado. -
echoé executado em um ambiente em quexestá definido como 123 e$1está definido como seja qual for o valorxno passo 1. -
echooutputs$1para a saída padrão, mas ignora os outros valores em seu ambiente.
Observe que $x como um argumento é separado do x que precede o comando.