로드하기 전에 .bash_profile을 확인하시겠습니까?

로드하기 전에 .bash_profile을 확인하시겠습니까?

많은 명령줄 프로그램은 구성 파일을 로드하기 전에 확인할 수 있는 스위치를 제공합니다. (예를 들어, 사용자가 해당 파일을 사용하여 nginx를 시작하기 전에 nginx -c path/to/file -t구성 파일이 있는지 확인할 수 있도록 허용합니다.path/to/file

.bash_profileBash에도 비슷한 기능이 있나요?

답변1

배쉬에는 하나가 있습니다-n 옵션그럴 것이다

명령을 읽기는 하지만 실행하지는 않습니다. 이는 스크립트의 구문 오류를 확인하는 데 사용할 수 있습니다.

구문 문제가 있으면 stderr로 출력하고 $?를 2로 설정합니다. 다음과 같이 .bash_profile에서 사용할 수 있습니다.

bash -n .bash_profile
if [[ $? -ne 0 ]]
then
   # handle an error
fi

주석 문자열을 기반으로 이러한 전역 변수를 다양한 방식으로 추가하기 위한 제안을 추가하지 않을 수 없었습니다. 사용자의 .bash_profile 끝에 "return"이 있는 다소 인위적인 상황을 생각해 보십시오. 향후 bash 호출에서는 추가 항목(예: 변수 할당)을 건너뜁니다. 이러한 전역 변수를 /etc 아래 어딘가에 배치하는 것을 고려하십시오(예: /etc/profile에서 이러한 파일을 얻었다고 가정). 이렇게 하면 다양한 쉘 구문(csh, bash)에 따라 설정할 수 있습니다. 사용자 환경에 설정되어 있는지 확인하거나 환경 파일을 망칠 필요가 없습니다.

또 다른 옵션은 이러한 전역 변수 할당을 선택한 사용자 정의 /etc 파일에 넣고 .bash_profile 파일에 코드를 추가하여 해당 파일을 가져오는 것입니다. 이는 현재 계획(사용자의 로컬 파일 편집)과 동일한 단점이 있지만 다른 사용자/시나리오에 대해 다른 전역 파일을 사용할 수 있는 유연성을 추가합니다.

관련 정보