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