mirror of
https://github.com/monlor/MIXBOX-ARCHIVE.git
synced 2026-07-27 01:06:48 +00:00
2018-12-31
This commit is contained in:
65
apps/mixbox/bin/mbdb
Normal file
65
apps/mixbox/bin/mbdb
Normal file
@@ -0,0 +1,65 @@
|
||||
#!/bin/sh
|
||||
#copyright by monlor
|
||||
mbroot="/etc/mixbox"
|
||||
|
||||
#${appname}.main.$key=$value 通过uci更轻松的存储数据
|
||||
#采用了key,value对形式储存数据,调用前设置appname和uciname值,uciname默认值为info
|
||||
method="$1"
|
||||
[ -z "$method" ] && method="help"
|
||||
appname="$(echo "$2" | awk -F '\.|\=' '{print$1}')"
|
||||
uciname="$(echo "$2" | awk -F '\.|\=' '{print$2}')"
|
||||
key="$(echo "$2" | awk -F '\.|\=' '{print$3}')"
|
||||
value="$(echo "$2" | awk -F '=' '{print$2}')"
|
||||
|
||||
configdir=${mbroot}/mbdb
|
||||
alias uci="uci -c ${configdir}"
|
||||
|
||||
case "$method" in
|
||||
get)
|
||||
uci -q get ${appname}.${uciname}.${key}
|
||||
;;
|
||||
set)
|
||||
[ ! -f ${configdir}/${appname} ] && touch ${configdir}/${appname}
|
||||
uci -q get ${appname}.${uciname} &> /dev/null || uci -q set ${appname}.${uciname}=config
|
||||
uci -q set ${appname}.${uciname}.${key}="${value}"
|
||||
uci commit ${appname}.${uciname}
|
||||
;;
|
||||
del)
|
||||
uci -q del ${appname}.${uciname}.${key}
|
||||
;;
|
||||
keys)
|
||||
uci -q show ${appname}.${uciname} | sed 1d | sed -e "s/${appname}.${uciname}.//g" | awk -F '=' '{print$1}'
|
||||
;;
|
||||
values)
|
||||
uci -q show ${appname}.${uciname} | sed 1d | sed -e "s/${appname}.${uciname}.//g" | awk -F '=' '{print$2}'
|
||||
;;
|
||||
show)
|
||||
if [ -z "${uciname}" ]; then
|
||||
uci -q show ${appname}
|
||||
else
|
||||
uci -q get ${appname}.${uciname} &> /dev/null && uci -q show ${appname}.${uciname}
|
||||
fi
|
||||
;;
|
||||
clear)
|
||||
uci -q del ${appname}.${uciname}
|
||||
;;
|
||||
export)
|
||||
[ -z "${uciname}" ] && uciname="main"
|
||||
uci -q show ${appname}.${uciname} | sed 1d | sed -e "s/${appname}.${uciname}.//g" | awk -F '=' '{print$1"=\""$2"\""}' | tr "\n" ";"
|
||||
;;
|
||||
*)
|
||||
echo "\`mbdb $@\` error!"
|
||||
echo -e "Usage: $0 {get|set|del|export|show|clean} [key] [value]"
|
||||
echo -e "Options:"
|
||||
echo -e "\tget\tGet value by key"
|
||||
echo -e "\tset\tSet key and value"
|
||||
echo -e "\tdel\tDelete info by key"
|
||||
echo -e "\tkeys\tShow all key"
|
||||
echo -e "\tvalues\tShow all value"
|
||||
echo -e "\tshow\tShow all key and value"
|
||||
echo -e "\tclear\tClear all info"
|
||||
echo -e "\texport\tGet app configure"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
exit $?
|
||||
Reference in New Issue
Block a user