Em:
FOO=bar.cpp meld a/$FOO b/$FOO
É um Comando simples , por isso FOO=bar.cpp não é executado no o tempo $FOO foi expandido.
Em:
FOO=bar.cpp && meld a/$FOO b/$FOO
Existem 2 comandos:
FOO=bar.cpp
e:
meld a/$FOO b/$FOO
Quando a substituição de parâmetro realizada em meld a/$FOO b/$FOO , FOO=bar.cpp foi executada, então FOO foi definido como bar.cpp .