![EnvironmentFile 변수의 내부 따옴표를 ExecStart로 전달](https://rvso.com/image/718120/EnvironmentFile%20%EB%B3%80%EC%88%98%EC%9D%98%20%EB%82%B4%EB%B6%80%20%EB%94%B0%EC%98%B4%ED%91%9C%EB%A5%BC%20ExecStart%EB%A1%9C%20%EC%A0%84%EB%8B%AC.png)
EnvironmentFile에는 다음이 있습니다.
EBUSD_OPTS="--scanconfig -d /dev/ttyEBUS -c /etc/ebusd --log=\"all notice\" --log=\"update error\""
.service 파일에서:
EnvironmentFile=-/etc/default/ebusd
ExecStart=/usr/bin/ebusd $EBUSD_OPTS
--log= 뒤의 따옴표가 실행 파일에 변경 없이 전달될 것으로 예상하지만 작동하지 않는 것 같습니다. 나는 모든 유형의 큰따옴표, 작은따옴표, 이중, 삼중 이스케이프 내부 따옴표, 단일 외부 따옴표 등을 시도했지만 성공하지 못했습니다.
답변1
EnvironmentFile에서 외부 따옴표를 가져옵니다.
EBUSD_OPTS=--scanconfig -d /dev/ttyEBUS -c /etc/ebusd --log="all notice" --log="update error"
ExecStart에 중괄호를 추가합니다.
ExecStart=/usr/bin/ebusd ${EBUSD_OPTS}
또한 중괄호 뒤에 후행 공백이 있어야 했습니다.