여러 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

관련 정보