"FOO=bar.cpp meld a/$FOO b/$FOO"가 예상대로 작동하도록 하려면 어떻게 해야 합니까?

"FOO=bar.cpp meld a/$FOO b/$FOO"가 예상대로 작동하도록 하려면 어떻게 해야 합니까?

내가 이해한 바로는, 다른 디렉터리에 있는 동일한 파일을 비교하려면 다음을 수행할 수 있어야 합니다.

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

그러나 작동하지 않습니다. 마치 $FOO빈 문자열과 같습니다. 이는 놀라운 일이 아닙니다.

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

내 질문은 첫 번째 예가 작동하지 않는 이유입니다.

답변1

존재하다:

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

그것은간단한 명령이므로 FOO=bar.cpp확장 중에는 실행되지 않습니다.$FOO

존재하다:

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

2가지 명령이 있습니다:

FOO=bar.cpp

그리고:

meld a/$FOO b/$FOO

에서 매개변수 대체를 수행할 때 , meld a/$FOO b/$FOOFOO=bar.cpp수행되므로 가 FOO로 설정됩니다 bar.cpp.

관련 정보