여러 bash 스크립트에 대해 여러 상수 유지

여러 bash 스크립트에 대해 여러 상수 유지

여러 개의 별도 bash 스크립트가 있습니다. 그들은 서로 다른 일을 하며 규모가 큽니다(각각 70-100줄). 그래서 저는 그것들을 별도의 파일로 보관합니다. 그러나 그것들은 모두 핵심 문제와 관련되어 있으므로 몇 가지 지속적인 가치를 공유합니다.

따라서 간단하게 유지하기 위해 10개의 상수 변수가 있는데 일부는 문자열, 일부는 숫자, 2개는 배열입니다. 모두 10개의 서로 다른 bash 스크립트에서 사용할 수 있어야 합니다. 어떻게 이를 달성할 수 있나요?

이러한 개별 bash 스크립트를 호출할 수 있는 중앙 위치가 있지만 main.sh항상 그런 것은 아닙니다. 명령줄( ./script1.sh)에서 직접 호출할 수도 있습니다. 이 경우에도 스크립트에서 변수를 사용할 수 있어야 합니다.

내가 생각할 수 있는 유일한 방법은 파일에 코드를 작성하는 것이고 dev/script1.temp.sh, 파일을 실행해야 할 때마다 파일 전체에서 특정 상수( )의 모든 항목을 build.sh간단히 바꾸는 bash 스크립트를 실행합니다.grep$CONSTANTbuild/script1.sh

답변1

constants.env예를 들어, 모든 상수를 파일에 넣으십시오. 이러한 상수를 사용하는 모든 스크립트에서 . constants.env해당 상수를 로드할 위치를 지정하세요.

예를 들어, constants.env:

HELLO=world

script.sh

#!/bin/bash
. constants.env
echo $HELLO

실행 예:

$ ./script.sh 
world

관련 정보