기능을 추가하고 bash 스크립트 작성 방법에 대해 자세히 알아보기 위해 간단한 스크립트를 수정하고 있습니다. 현재 스크립트는 함수를 사용하여 연관 배열을 생성합니다.
declare -A site theme
add_site() {
local shortcut=$1
site[$shortcut]=$2
theme[$shortcut]=$3
}
add_site x1 example1.com alpha
add_site x2 example2.com beta
이제 변수의 ini 파일을 읽고 싶습니다. 그러나 내가 본 문서는 모두 파일을 가져오는 방법을 지시하지만 단일 배열만 예로 사용합니다. 연관 배열을 생성하기 위해 아래와 같은 데이터 파일을 사용하여 배열을 생성하는 방법:
[site1]
shortcut=x1
site=example1.com
theme=alpha
[site2]
shortcut=x2
site=example2.com
theme=beta
답변1
다음을 수행할 수 있습니다.
#!/bin/bash
declare -A site=() theme=()
add_site() {
local shortcut=$1
site[$shortcut]=$2
theme[$shortcut]=$3
}
while IFS= read -r line; do
case "$line" in
shortcut=*)
# IFS== read -r __ shortcut <<< "$line"
_shortcut=${line#*=}
;;
site=*)
# IFS== read -r __ site <<< "$line"
_site=${line#*=}
;;
theme=*)
# IFS== read -r __ theme <<< "$line"
_theme=${line#*=}
add_site "$_shortcut" "$_site" "$_theme"
;;
esac
done < file.ini
echo "$@"
기능 테스트 출력에 추가 :
x1 example1.com alpha
x2 example2.com beta