![여러 bash 스크립트에 대해 여러 상수 유지](https://linux55.com/image/146446/%EC%97%AC%EB%9F%AC%20bash%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%97%90%20%EB%8C%80%ED%95%B4%20%EC%97%AC%EB%9F%AC%20%EC%83%81%EC%88%98%20%EC%9C%A0%EC%A7%80.png)
여러 개의 별도 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