Bash 스크립트에서 공통 프로젝트 라이브러리 값 변경

Bash 스크립트에서 공통 프로젝트 라이브러리 값 변경

변수에 대한 공통 bash 파일이 있는 프로젝트가 있습니다. 스크립트에서 이를 변경할 수 있는 방법이 있나요?

샘플 작업 스크립트:

$ cat sampleaction.sh
#!/bin/bash

# Source variables
. commonlibrary

# Do action according to mode
case $MODE in 
    idle)
        #do nothing
    active)
        #do something

$MODE공통 파일에 존재하며 각 개별 작업 스크립트를 시작할 때만 확인됩니다. 예를 들어 플래그가 포함된 경우 setup bash 스크립트에서 이 변수를 설정하고 싶습니다. --active.

설정 스크립트:

cat initaction.sh
#!/bin/bash

# Source variables
. commonlibrary

# Check flags
while [ $# -gt 0 ]
do 
    case $1 in
        --active)
            shift;
            MODE=active;;
    esac
done

답변1

새 값을 해당 파일에 반영하여 공통 파일의 변수를 변경할 수 있습니다.

echo "MODE=active" > commonlibrary

코드의 예:

#!/bin/bash
. commonlibrary

case $MODE in 
    idle)
        #do nothing
    active)
        echo "MODE=newmode" > commonlibrary

이제 해당 파일에 변수가 두 개 이상 있으면 문제가 발생할 수 있습니다. 먼저 모든 변수를 가져온 다음 모든 새 값을 빌드하고 파일에 추가해야 합니다. 이를 수행하는 방법에는 여러 가지가 있습니다. 이에 대해 조사하거나 자신만의 방식으로 생각할 수 있습니다.

관련 정보