
여러 개의 개별 bash 스크립트가 있습니다. 그들은 서로 다른 일을 하며 규모가 큽니다(각각 70-100줄). 그래서 나는 그것들을 별도의 파일로 보관했습니다. 그러나 그것들은 모두 핵심 문제와 관련되어 있으므로 공통적으로 몇 가지 일정한 값을 공유합니다.
따라서 단순화를 위해 10개의 상수 변수가 있는데 일부는 문자열, 일부는 숫자, 2개는 배열이며 모두 10개의 다른 bash 스크립트에서 사용할 수 있어야 합니다. 이를 어떻게 달성합니까?
이러한 개별 bash 스크립트를 호출할 수 있는 중앙 장치가 있지만 main.sh
항상 그런 것은 아닙니다. 명령줄( ./script1.sh
)에서 직접 호출할 수도 있습니다. 이 경우에도 스크립트에서 변수를 사용할 수 있어야 합니다.
내가 생각한 유일한 방법은 dev/script1.temp.sh
파일로 코딩하는 것이었고, 파일을 실행해야 할 때마다 파일 전체에서 특정 상수( )의 모든 발생을 build.sh
간단히 대체하는 bash 스크립트를 실행하여 .grep
$CONSTANT
build/script1.sh
답변1
예를 들어 , 모든 상수를 파일에 넣으십시오 constants.env
. 그리고 해당 상수를 사용하는 모든 스크립트에서 . constants.env
해당 상수를 로드합니다.
예를 들어, constants.env
:
HELLO=world
script.sh
#!/bin/bash
. constants.env
echo $HELLO
예제 실행:
$ ./script.sh
world