cat을 사용하는 bash 스크립트에서는 확장 파일 와일드카드를 사용할 수 없습니다.

cat을 사용하는 bash 스크립트에서는 확장 파일 와일드카드를 사용할 수 없습니다.

터미널에 입력하면

cat ~/my/+(a|b)/doc

~/my/a/doc 및 ~/my/b/doc 모두에서 잘 읽히지만 이 명령을 스크립트에 넣으면 다음과 같습니다 bash.

#!/bin/bash
cat ~/my/'+(a|b)'/doc

오류가 발생합니다.

cat: ~/my/+(a|b)/doc: No such file or directory

bash스크립트 내에서 확장된 와일드카드를 사용할 수 없습니까 ?

답변1

다음을 열어야 합니다 extglob.

#!/bin/bash
shopt -s extglob
cat ~/my/+(a|b)/doc

+()확장 모드이며 extglob활성화된 경우에만 인식됩니다. 기본적으로 extglob대화형 셸에서는 켜져 있고 비대화형 셸에서는 꺼져 있습니다.

관련 정보