![BASH_ENV가 설정된 bashrc에서 bash를 호출할 때 무한 루프 생성을 방지하려면 어떻게 해야 합니까?](https://linux55.com/image/131399/BASH_ENV%EA%B0%80%20%EC%84%A4%EC%A0%95%EB%90%9C%20bashrc%EC%97%90%EC%84%9C%20bash%EB%A5%BC%20%ED%98%B8%EC%B6%9C%ED%95%A0%20%EB%95%8C%20%EB%AC%B4%ED%95%9C%20%EB%A3%A8%ED%94%84%20%EC%83%9D%EC%84%B1%EC%9D%84%20%EB%B0%A9%EC%A7%80%ED%95%98%EB%A0%A4%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
내부적으로 bash 스크립트( ~/.bashrc
맨 위 스크립트)를 실행합니다. my로 설정 하면 bash 명령을 실행할 때 무한 루프가 설정된다는 #!/usr/bin/env bash
것을 알았습니다 . 이것을 피하는 가장 좋은 방법은 무엇입니까?BASH_ENV
~/.bashrc
무슨 일이 일어났는지에 대한 제가 이해한 내용은 다음과 같습니다.시작 파일에 대한 bash 매뉴얼):
bash
비대화식BASH_ENV
으로 실행하면~/.bashrc
.bash
구매를 시작하세요~/.bashrc
.bash
~/.bashrc
Bash 스크립트를 호출하고bash
하위 프로세스를 시작하는 줄 에 도달합니다 .- 하위 프로세스는 으로
bash
확인되므로 여기서 1단계로 돌아가 무한 루프를 설정합니다.BASH_ENV
~/.bashrc
표준 환경을 사용하여 일부 크론 작업을 실행하고 싶었고 BASH_ENV
이를 crontab에서 설정하라는 제안을 찾았기 때문에 이 문제가 발생했습니다. 웹 검색으로는 나오지 않고, 다른 분들에게 영향을 줄 수도 있는 내용이 있는 것 같아서 여기에 질문으로 올립니다. 아래에 내 솔루션을 게시하고 있지만 더 나은 솔루션이 있을 수 있습니다.
답변1
배치 상단 .bashrc
:
unset BASH_ENV
.bashrc
환경 설정을 위해 이미 가져온 경우에는 bash
나중에 환경 설정을 위해 다시 호출할 필요가 없습니다.