![패턴별로 bash에서 특정 파일을 제외한 모든 파일을 삭제하는 방법은 무엇입니까? [복사]](https://linux55.com/image/211530/%ED%8C%A8%ED%84%B4%EB%B3%84%EB%A1%9C%20bash%EC%97%90%EC%84%9C%20%ED%8A%B9%EC%A0%95%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%A0%9C%EC%99%B8%ED%95%9C%20%EB%AA%A8%EB%93%A0%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%82%AD%EC%A0%9C%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
디렉토리에서 모든 파일을 자동으로 제거하려고 하지만 특정 파일은 제외하려고 합니다.
터미널에서 실행하면 구문이 제대로 작동하지만 일부 bash 스크립트 파일(예: 또는 $ rm *.!(vmx*|vmd*)
이름)을 생성하면 작동하지 않습니다.patt1_exclude_vm_gb.sh
patt1_exclude_vm_gb
-- patt1_exclude_vm_gb.sh
#!/bin/bash
$ rm *.!(vmx*|vmd*)
bash 스크립트를 수정하는 방법을 아는 사람이 있습니까?
답변1
이 모드를 사용하려면 먼저 bash
확장 전역 모드 지원을 활성화해야 합니다 . (또는 기타 확장 모드 , , 및 )shopt -s extglob
!( ... )
?( ... )
*( ... )
+( ... )
@( ... )