터미널에 입력하면
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
대화형 셸에서는 켜져 있고 비대화형 셸에서는 꺼져 있습니다.