Bash: 변수를 상위 프로세스로 내보내야 합니다. 부모도 같은 과정인가요?

Bash: 변수를 상위 프로세스로 내보내야 합니다. 부모도 같은 과정인가요?

일부 환경 변수를 설정 및/또는 업데이트하는 스크립트를 시작하고 싶습니다. 같지 않은이 질문, 스크립트를 다음과 같이 실행해도 괜찮습니다.

. /path/to/my/script/myScript.sh

스크립트가 부모와 동일한 프로세스를 실행하도록 강제하려면 부모가 잊어버린 경우 스크립트가 자동으로 실패하는 것을 원하지 않습니다. id'는 문제를 감지하고 오류 메시지를 생성하는 것을 좋아합니다.

그렇다면 스크립트가 상위 프로세스 내에서 실행되었는지 확인하는 가장 좋은 방법은 무엇입니까?

답변1

변수 중 하나를 확인하십시오. 비어 있거나 설정되지 않은 경우 오류를 표시합니다.

if [[ -z "$some_variable" ]]; then
    echo "You must 'source /path/to/my/script/myScript.sh' first" >&2
    exit 1
fi

물론 사용자를 위한 보다 원활한 워크플로를 원한다면 쉽게 파일을 소싱하고 계속할 수 있습니다.

관련 정보