소스 캐시 파일을 사용하는 방법

소스 캐시 파일을 사용하는 방법

source특정 쉘에 대해 파일을 한 번만 가져오는 유사한 bash 명령이 있습니까 ?

예를 들어:

source_cached foo.sh    # runs as normal
source_cached foo.sh    # would not load foo.sh a second time

foo.sh 경로는 이미 가져왔으므로 다시 가져오지 않습니다.

답변1

당신이 원하는 것은 "Include Guard"입니다. Jonathan Leffler의 사이트에서 SO에 대한 예를 볼 수 있습니다.https://stackoverflow.com/a/7518684/6512983.

if [ -z "$B_SH_INCLUDED" ]
then
    B_SH_INCLUDED=yes
    ...rest of original contents of b.sh
fi

기본적으로 포함된 파일에 변수를 정의하지만 변수가 있는지 미리 확인하고 이미 정의되어 있으면 일찍 반환합니다.

관련 정보