파일의 해시를 생성하고 이를 vars.txt에 쓴 다음 다음에 스크립트가 실행될 때 해당 변수를 확인하여 파일이 변경되었는지 확인하는 스크립트가 있습니다.
스크립트를 실행할 때 다음을 사용하여 변수를 호출합니다.source /path/to/file
이제 파일을 구문 분석할 때 다음 오류가 발생합니다.
/opt/scripts/AutoCommit/vars.txt: line 2: etchttpdconf_dvhost.conf=925ec4d7bd0dc94c3710bcf5fb2c80f422806bb5 /etc/httpd/conf.d/vhost.conf: No such file or directory
게다가 파일이 변경되면 sed
이제 해당 줄이 바뀌지 않고 대신 아래에 한 줄이 추가됩니다. 과거에는 그렇게 하지 않았습니다.
최종 파일을 받게 됩니다이와 같이.최근까지는 이런 일이 발생하지 않았으므로 둘 다 동일한 문제로 인해 발생한 것으로 의심됩니다.
답변1
(점 .
)은 정의에서와 같이 변수 이름에 유효한 문자가 아닙니다 vars.txt
.
gitinstalled="1" etchttpdconf_dvhost.conf="925ec4d7bd0dc94c3710bcf5fb2c80f422806bb5 /etc/httpd/conf.d/vhost.conf" etchttpdconf_dvhost.conf="925ec4d7bd0dc94c3710bcf5fb2c80f422806bb5 /etc/httpd/conf.d/vhost.conf"
답변2
너의 것을 바꿔라
fileVarName="${fileVarName/./_}"
모든 포인트를 완료하세요
fileVarName="${fileVarName//./_}"