다른 Bash 스크립트에 스크립트 파일 포함

Faaiq Bilal 2023년6월20일
다른 Bash 스크립트에 스크립트 파일 포함

이 문서에서는 Bash 스크립트 파일을 다른 스크립트 파일에 포함하는 다양한 방법에 대해 설명합니다.

Bash 스크립트에 파일 포함

스크립트를 포함하거나 재사용하는 것은 Bash에서 매우 간단합니다. source 키워드는 C/C++의 #include와 유사합니다.

스크립트를 재사용하려면 동일한 디렉토리 또는 다른 디렉토리에서 스크립트를 가져올지 여부에 따라 이름/전체 경로 파일과 함께 source 키워드를 사용하십시오.

일반적으로 구문은 다음과 같이 지정됩니다.

source <filename>

다음 내용을 포함하는 sorting.sh라는 스크립트가 있다고 가정해 보겠습니다.

TEST_VAR="Hello"

구문은 다음과 같습니다.

배쉬 스크립트:

#!/bin/bash
source sorting.sh
echo ${TEST_VAR}

또는 . 연산자는 source 키워드의 속기이며 유사하게 작동합니다.

배쉬 스크립트:

#!/bin/bash
sorting.sh
echo ${TEST_VAR}

위의 두 예는 모두 다음 출력을 반환합니다.

출력:

Hello

. 연산자는 POSIX와 호환되지만 source 키워드는 호환되지 않습니다. 이것은 . 연산자는 모든 POSIX 셸 환경에서 작동하지만 source는 그렇지 않을 수 있지만 Bash의 컨텍스트에서는 source 키워드를 사용하는 것이 완벽하게 안전합니다.

주목해야 할 또 다른 점은 source가 C/C++의 include와 똑같이 작동하지 않는다는 점입니다. 개별적으로 별도의 함수를 호출하고 실행할 수 있는 것이 아니라 대상 스크립트에서 완전한 소스 스크립트를 실행하기 때문입니다.

모든 수준의 디렉터리에서 작동하고 디렉터리가 다르거나 수준이 다르기 때문에 오류가 발생하지 않는 다른 스크립트에서 스크립트를 사용하는 가장 안전한 방법은 다음 스크립트를 사용하는 것입니다.

배쉬 스크립트:

$(dirname "$0")/sorting.sh

관련 문장 - Bash File