XY 문제 시나리오를 피하기 위해 이 질문을 하는 이유를 설명하겠습니다.
shopt -s extglob
그런 일이 실제로 효과가 있었기 때문에 내 파일 ~/.bashrc
에 설정했던 것을 기억합니다 @(pattern-list)
.
그런데 방금 확인해 보니 ~/.bashrc
해당 옵션이 아직 설정되지 않았습니다.
그래서 나는 그것이 어디서 왔는지 알아보기로 결정했습니다.
bash --norc
다른 쉘을 시작하여 실행 하면shopt
다음 줄이 표시됩니다extglob off
.bash --rcfile /dev/null
그러나 다음 을shopt
통해 시작하면extglob on
이는 어떤 파일이 설정되어 있는지 파악하는 데 실제로 도움이 되지 않습니다 extglob
.
의견을 바탕으로 PS4=' $BASH_SOURCE:$LINENO: ' bash -lixc true |& grep extglob
주어진
/usr/share/bash-completion/bash_completion:45: shopt -s extglob progcomp
/usr/share/bash-completion/bash_completion:45: shopt -s extglob progcomp
답변1
Debian/Ubuntu에서 /etc/bash.bashrc
Bash는 비슷한 발음을 가집니다 ~/.bashrc
. 이를 사용하는 것은 Red Hat이 /etc/
모든 사용자에게 전달하는 컴파일 타임 옵션입니다 .bashrc
.
이것데비안 문서--rcfile
이는 둘 다 재정의되어야 하며 --norc
둘 다 읽는 것이 금지되어야 함 을 의미하는 것 같습니다 .
--norc
쉘이 대화형인 경우 시스템 전체/etc/bash.bashrc
및 개인 초기화 파일을 읽고 실행하지 마십시오.~/.bashrc
--rcfile file
/etc/bash.bashrc
시스템 전체 초기화 파일 및 표준 개인 초기화 파일 대신 파일에서 명령을 실행합니다.~/.bashrc
그러나 @muru가 댓글에서 말했듯이 이것은 잘못된 것 --rcfile /dev/null
같습니다 /etc/bash.bashrc
. 자, 저기 보세요 shopt
.