zip
db-
다음으로 시작하고 끝나는 모든 파일에 대해 다음 명령을 실행 합니다 .sql
.
zip /var/www/html/db-$(date +\%F-\%T).zip /var/www/html/^db-*.sql
하지만 나는 다음을 얻습니다.
zip 경고: 이름 불일치: /var/www/html/^db-*.sql
zip 오류: 조치가 필요하지 않습니다! (/var/www/html/db.zip)
캐럿을 사용하여 로 시작하는 모든 항목과 일치시킨 db-
다음 *.sql
끝에 추가하여 로 끝나는 모든 항목과 일치하므로 .sql
실수를 이해하지 못합니다.
다른 변형을 시도했지만 ^
모두 비슷한 오류로 인해 실패했습니다.
답변1
Bash 매개변수는 정규식이 아니라 와일드카드입니다. 사용:
$ zip /var/www/html/db-$(date +\%F-\%T).zip /var/www/html/db-*.sql
bash
매뉴얼의 "Pattern Matching"에서 :
*
빈 문자열을 포함하여 모든 문자열과 일치합니다.globstar
셸 옵션이 활성화되어*
경로 이름 확장 컨텍스트에서 사용 되면*
단일 패턴으로 사용되는 두 개의 인접한 s는 모든 파일과 0개 이상의 디렉터리 및 하위 디렉터리와 일치합니다. 뒤에 a가 오면/
두 개의 인접한*
s는 디렉토리 및 하위 디렉토리에만 일치합니다.