bash에 shebang을 사용하는 올바른 방법

bash에 shebang을 사용하는 올바른 방법

bash의 shebang에서 권장되는 옵션은 무엇입니까?

#!/bin/bash -e

위에서 언급한 대로 현재 보유하고 있습니다. 이 소스 $HOME/.bashrc.

스크립트를 방해하고 스크립트 시작을 지연시킬 수 있으므로 사용자의 .bashrc/source를 가져오고 싶지 않습니다 (홈 디렉터리는 일반적으로 네트워크 드라이브에 있음)..profile

이 기능을 비활성화하는 명령줄 옵션이 있습니까?
어떤 다른 제안된 표지판을 배치해야 합니까?

답변1

BASH_ENV설정되어 있지 않은지 확인하기만 하면 됩니다 . 다음 INVOCATION섹션 에서bash(1):

       Bash가 비대화식으로 시작되면 다음과 같은 쉘 스크립트를 실행하십시오.
       예를 들어 환경에서 BASH_ENV 변수를 찾아서 확장합니다.
       해당 값이 거기에 나타나면 확장된 값을 이름으로 사용합니다.
       읽고 실행할 파일입니다. Bash는 다음 명령처럼 작동합니다.
       실행되었습니다 :
              if [-n "$BASH_ENV"]; "$BASH_ENV";
       그러나 PATH 변수의 값은 파일 검색에 사용되지 않습니다.
       이름.

쉘이 대화형으로 시작되면 다른 도트 파일( ~/.bash_profile등)을 읽습니다.~/.bash_logout

불행하게도 스크립트를 사용하더라도 환경을 제어할 수 없습니다 #!env(단 하나의 인수만 필요하며 이 경우 쉘 프로그램 bash). 여러분이 바랄 수 있는 최선의 방법은 스크립트나 래퍼에서 환경을 지우고 깨끗한 환경에서 시작하는 것인데, 이는 아마도 여러분이 원하는 것이 아닐 것입니다.

답변2

"man bash"를 조금 읽어보면 괜찮을 것입니다.

'INVOCATION' 섹션에서 '를 찾을 수 있습니다.--구성 파일 없음" 또는"--활고자“옵션이 효과를 발휘해야 합니다.

관련 정보