종료 조건이 실패했습니다. "${env는 알려진 연산자가 아닙니다."

종료 조건이 실패했습니다. "${env는 알려진 연산자가 아닙니다."

Exim 구성 파일에 하드코딩된 경로를 환경 변수에서 가져온 값으로 바꾸려고 하는데 이해할 수 없는 오류가 발생합니다.

"${env" is not a known operator (or a } is missing in a variable reference)

오류가 발생하는 조건입니다.

condition = ${if !exists{${env{MAILPATH}{$value} fail }/$local_part} }

조건을 다음과 같이 변경하면 정상적으로 작동합니다.

condition = ${if !exists{/srv/mail/$local_part} }

나는 라인에서 구문 오류를 볼 수 없습니다 ${env. 그래서 누군가 내가 저지르고 있는 어리석은 실수를 지적할 수 있습니까?

답변1

잠시 동안 직접 추적한 후 이 ${env연산자가 비교적 새로운 exim4 버전 4.86에만 추가된 것 같다는 것을 발견했습니다. 비교하다여기(4.85)그리고여기(4.86).

불행하게도 데비안 jessie에서 사용할 수 있는 최신 버전의 exim4는 4.84입니다. 이 버전을 발견하기 전까지는 비슷한 고통을 겪었습니다.

관련 정보