Magellan Linux

Contents of /alx-src/branches/alxconf-060/functions/common.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2158 - (show annotations) (download) (as text)
Wed May 18 14:32:37 2011 UTC (12 years, 11 months ago) by niro
File MIME type: application/x-sh
File size: 1073 byte(s)
-better escaping to support whitespaces
1 # $Id$
2
3 addconfig()
4 {
5 local opts
6
7 if [[ -z ${CONFIG} ]]
8 then
9 echo "You must define \$CONFIG varibale first!"
10 return 1
11 fi
12
13 if [[ ! -d "$(dirname ${CONFIG})" ]]
14 then
15 install -d "$(dirname ${CONFIG})"
16 fi
17
18 # check for opts
19 case $1 in
20 -n) shift; opts=" -n" ;;
21 -e) shift; opts=" -e" ;;
22 esac
23
24 echo ${opts} "$@" >> "${CONFIG}"
25 }
26
27 clearconfig()
28 {
29 if [[ -z ${CONFIG} ]]
30 then
31 echo "You must define \$CONFIG varibale first!"
32 return 1
33 fi
34
35 if [[ ! -d "$(dirname ${CONFIG})" ]]
36 then
37 install -d "$(dirname ${CONFIG})"
38 fi
39 : > "${CONFIG}"
40 }
41
42
43 updateconfig()
44 {
45 local variables="$@"
46 local value
47 local i
48
49 if [[ -z ${CONFIG} ]]
50 then
51 echo "You must define \$CONFIG varibale first!"
52 return 1
53 fi
54
55 for i in ${variables}
56 do
57 value="$(eval echo \${NEW_${i}})"
58 if [[ ! -z $(grep "^${i}=" "${CONFIG}") ]]
59 then
60 echo "fixing ${i} -> ${value}"
61 sed -i "s|^\(${i}=\).*|\1\"${value}\"|" "${CONFIG}"
62 else
63 echo "adding ${i}=${value}"
64 echo "${i}=\"${value}\"" >> "${CONFIG}"
65 fi
66 done
67 }
68
69 rc_mecho()
70 {
71 rc_echo -e "${COLMAGENTA}$@${COLDEFAULT}"
72 }