Como conseguir que “FOO = bar.cpp meld a / $ FOO b / $ FOO” funcione do jeito que eu esperava?

1

Tanto quanto eu entendo, para comparar o mesmo arquivo em diretórios separados, eu deveria ser capaz de fazer isso:

FOO=bar.cpp meld a/$FOO b/$FOO

No entanto, isso não funciona, como se $FOO fosse uma string vazia. Isso não é de surpreender:

(FOO=bar.cpp && meld a/$FOO b/$FOO)

Minha pergunta é por que o primeiro exemplo não funciona?

    
por Ken Y-N 27.02.2018 / 04:56

1 resposta

3

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 .

    
por 27.02.2018 / 05:12