Contents of /alx-src/branches/alxconf-060/functions/common.sh
Parent Directory | Revision Log
Revision 2158 -
(show annotations)
(download)
(as text)
Wed May 18 14:32:37 2011 UTC (13 years, 4 months ago) by niro
File MIME type: application/x-sh
File size: 1073 byte(s)
Wed May 18 14:32:37 2011 UTC (13 years, 4 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 | } |