34 lines
690 B
Bash
Executable file
34 lines
690 B
Bash
Executable file
#!/bin/bash
|
|
|
|
|
|
INI_FILE="$1"
|
|
SECTIONS_NUM=0
|
|
unset ${INI_ALL_SECTION}
|
|
|
|
|
|
|
|
while read -r line || [ -n "$line" ]
|
|
do
|
|
echo -e "\nLine = $line"
|
|
# Skip blank lines and comments
|
|
if [ -z "$line" -o "${line:0:1}" = ";" -o "${line:0:1}" = "#" ]
|
|
then
|
|
continue
|
|
fi
|
|
|
|
# Section marker?
|
|
if [[ "${line}" =~ ^\[[a-zA-Z0-9_]{1,}\]$ ]]
|
|
then
|
|
# Set SECTION var to name of section (strip [ and ] from section marker)
|
|
SECTION="${line#[}"
|
|
SECTION="${SECTION%]}"
|
|
echo -e "SECTION = ${SECTION}"
|
|
#eval "${INI_ALL_SECTION}=\"\${${INI_ALL_SECTION}# } $SECTION\""
|
|
((SECTIONS_NUM++))
|
|
continue
|
|
fi
|
|
done <"${INI_FILE}"
|
|
|
|
echo -e "SECTIONS_NUM = $SECTIONS_NUM"
|
|
|
|
echo "INI_ALL_SECTION = $INI_ALL_SECTION"
|