BASH_ENV가 설정된 bashrc에서 bash를 호출할 때 무한 루프 생성을 방지하려면 어떻게 해야 합니까?

BASH_ENV가 설정된 bashrc에서 bash를 호출할 때 무한 루프 생성을 방지하려면 어떻게 해야 합니까?

내부적으로 bash 스크립트( ~/.bashrc맨 위 스크립트)를 실행합니다. my로 설정 하면 bash 명령을 실행할 때 무한 루프가 설정된다는 #!/usr/bin/env bash것을 알았습니다 . 이것을 피하는 가장 좋은 방법은 무엇입니까?BASH_ENV~/.bashrc

무슨 일이 일어났는지에 대한 제가 이해한 내용은 다음과 같습니다.시작 파일에 대한 bash 매뉴얼):

  1. bash비대화식 BASH_ENV으로 실행하면 ~/.bashrc.
  2. bash구매를 시작하세요 ~/.bashrc.
  3. bash~/.bashrcBash 스크립트를 호출하고 bash하위 프로세스를 시작하는 줄 에 도달합니다 .
  4. 하위 프로세스는 으로 bash확인되므로 여기서 1단계로 돌아가 무한 루프를 설정합니다.BASH_ENV~/.bashrc

표준 환경을 사용하여 일부 크론 작업을 실행하고 싶었고 BASH_ENV이를 crontab에서 설정하라는 제안을 찾았기 때문에 이 문제가 발생했습니다. 웹 검색으로는 나오지 않고, 다른 분들에게 영향을 줄 수도 있는 내용이 있는 것 같아서 여기에 질문으로 올립니다. 아래에 내 솔루션을 게시하고 있지만 더 나은 솔루션이 있을 수 있습니다.

답변1

배치 상단 .bashrc:

unset BASH_ENV

.bashrc환경 설정을 위해 이미 가져온 경우에는 bash나중에 환경 설정을 위해 다시 호출할 필요가 없습니다.

관련 정보