원격 Centos 시스템에 bash 4.1.2를 설치했습니다.
내가 좋아하는 것을 사용할 때
rm !(*keyword)
나는 가지고있다
bash: !: event not found
bash 업그레이드를 시도했지만 업그레이드 후에도 버전이 지속되는 것 같습니다.
내 로컬 Ubuntu 시스템의 bash 4.3.11에서도 동일한 코드가 제대로 실행됩니다.
이 버전의 Bash(4.1.2)에서 이 명령을 어떻게 사용할 수 있나요?
답변1
그래서 저는 질문에만 답변을 드립니다. extglob
기록 확장 구문 외에도 확장 패턴을 인식하려면 bash를 활성화해야 합니다.
shopt -s extglob
rm !(*keyword)
shopt -s extglob
case
확장 패턴 일치 켜짐 및 꺼짐 도 활성화되어 있지만 [[ ]]
Bash 4.1을 시작할 때 이미 기본 동작 [[ ]]
이며 확장 패턴은 옵션 활성화 여부에 관계없이 인식됩니다.
참고로 Bash 매뉴얼을 참조하세요. 패턴 매칭.