일치하는 `)'을 찾는 동안 예상치 못한 EOF가 발생했습니다.

일치하는 `)'을 찾는 동안 예상치 못한 EOF가 발생했습니다.

이 오류가 발생합니다.세게 때리다내 가상 호스팅, cron 작업에서. 내 명령은 다음과 같습니다

/usr/bin/mysqldump --user=USERNAME --password="C\(mRA0_ifmv\(" DATABASE > ROOTFOLDER/backup/$(date +%F).sql && gzip ROOTFOLDER/backup/$(date +%F).sql

진짜를 숨겼어사용자,데이터 베이스그리고홈 폴더보안 목적으로. 따라서 내 비밀번호로 인해 이 오류가 발생한다는 것을 이해하지만 비밀번호를 변경하고 싶지 않습니다.

열린 대괄호 문자를 어떻게 이스케이프 처리하거나 이 오류를 방지할 수 있으며 "\"가 작동하지 않는 이유는 무엇입니까?

답변1

비밀번호에는 작은따옴표를 사용하세요.

--password='C\(mRA0_ifmv\('

Bash 매뉴얼: 작은따옴표

작은따옴표(''')로 문자를 묶으면 따옴표 안의 각 문자의 리터럴 값이 유지됩니다. 앞에 백슬래시가 있어도 작은따옴표 사이에 작은따옴표를 사용할 수 없습니다.

Bash 매뉴얼: 큰따옴표

문자를 큰따옴표('"')로 묶으면 '$', '`', '\' 및 기록 확장이 활성화된 경우 '!'를 제외하고 따옴표 안의 모든 문자의 리터럴 값이 유지됩니다.

관련 정보