mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 12:03:31 +01:00
56 lines
860 B
Bash
56 lines
860 B
Bash
ini_section()
|
|
{
|
|
local inifile="$1"
|
|
local sec="$2"
|
|
cat "$inifile" |
|
|
cut -d\# -f1 |
|
|
tr -s '\n' '\n' |
|
|
sed -n "/^ *\[$sec\]/,/^ *\[/ p" |
|
|
grep -v '^ *\[' |
|
|
sed '/^ *$/ d'
|
|
}
|
|
|
|
ini_value()
|
|
{
|
|
local inifile="$1"
|
|
local path="$2"
|
|
local sec=`echo "$path" | sed 's/\.[^.]\+$//'`
|
|
local key=`echo "$path" | sed 's/.*\.//'`
|
|
|
|
# echo "path=>$path<"
|
|
# echo "sec=>$sec<"
|
|
# echo "key=>$key<"
|
|
|
|
if [ "$key" = "$path" ]; then
|
|
ini_section "$inifile" "$path"
|
|
return 0
|
|
fi
|
|
|
|
ini_section "$inifile" "$sec" | sed "
|
|
/^ *$key *=/ !d
|
|
s/^ *$key *= *//
|
|
s/ *$//
|
|
/^ *$/ d
|
|
"
|
|
}
|
|
|
|
ini_has_section()
|
|
{
|
|
local inifile="$1"
|
|
local sec="$2"
|
|
grep -q "^ *\[$sec\]" $inifile || return 1
|
|
}
|
|
|
|
ini_has_value()
|
|
{
|
|
ini_value $@ | grep -q .
|
|
}
|
|
|
|
ini_escape()
|
|
{
|
|
cat | sed '
|
|
s/\$/\\$/g
|
|
s/`/\\\`/g
|
|
'
|
|
}
|
|
|