Browse Source

Tidying config utils

Bob Mottram 7 years ago
parent
commit
34e59ae030
1 changed files with 54 additions and 58 deletions
  1. 54
    58
      src/freedombone-utils-config

+ 54
- 58
src/freedombone-utils-config View File

@@ -106,10 +106,10 @@ function get_completion_param {
106 106
     param_name="$1"
107 107
 
108 108
     if [ ${#param_name} -gt 0 ]; then
109
-        if [ $COMPLETION_FILE ]; then
110
-            if [ -f $COMPLETION_FILE ]; then
111
-                if grep -q "${param_name}:" $COMPLETION_FILE; then
112
-                    param_value=$(cat $COMPLETION_FILE | grep "${param_name}:" | head -n 1 | awk -F ':' '{print $2}')
109
+        if [ "$COMPLETION_FILE" ]; then
110
+            if [ -f "$COMPLETION_FILE" ]; then
111
+                if grep -q "${param_name}:" "$COMPLETION_FILE"; then
112
+                    param_value=$(grep "${param_name}:" "$COMPLETION_FILE" | head -n 1 | awk -F ':' '{print $2}')
113 113
                     echo "$param_value"
114 114
                     return
115 115
                 fi
@@ -123,7 +123,7 @@ function set_completion_param {
123 123
     param_name="$1"
124 124
     param_value="$2"
125 125
 
126
-    if [ ! $COMPLETION_FILE ]; then
126
+    if [ ! "$COMPLETION_FILE" ]; then
127 127
         COMPLETION_FILE=$HOME/${PROJECT_NAME}-completed.txt
128 128
     fi
129 129
     if [ ${#COMPLETION_FILE} -eq 0 ]; then
@@ -132,14 +132,14 @@ function set_completion_param {
132 132
 
133 133
     if [ ${#param_name} -gt 0 ]; then
134 134
         if [ ${#param_value} -gt 0 ]; then
135
-            if [ -f $COMPLETION_FILE ]; then
136
-                if grep -q "${param_name}:" $COMPLETION_FILE; then
137
-                    sed -i "s|${param_name}:.*|${param_name}:${param_value}|g" $COMPLETION_FILE
135
+            if [ -f "$COMPLETION_FILE" ]; then
136
+                if grep -q "${param_name}:" "$COMPLETION_FILE"; then
137
+                    sed -i "s|${param_name}:.*|${param_name}:${param_value}|g" "$COMPLETION_FILE"
138 138
                 else
139
-                    echo "${param_name}:${param_value}" >> $COMPLETION_FILE
139
+                    echo "${param_name}:${param_value}" >> "$COMPLETION_FILE"
140 140
                 fi
141 141
             else
142
-                echo "${param_name}:${param_value}" > $COMPLETION_FILE
142
+                echo "${param_name}:${param_value}" > "$COMPLETION_FILE"
143 143
             fi
144 144
         fi
145 145
     fi
@@ -148,7 +148,7 @@ function set_completion_param {
148 148
 function mark_completed {
149 149
     param_name="$1"
150 150
 
151
-    if [ ! $COMPLETION_FILE ]; then
151
+    if [ ! "$COMPLETION_FILE" ]; then
152 152
         COMPLETION_FILE=$HOME/${PROJECT_NAME}-completed.txt
153 153
     fi
154 154
     if [ ${#COMPLETION_FILE} -eq 0 ]; then
@@ -156,12 +156,12 @@ function mark_completed {
156 156
     fi
157 157
 
158 158
     if [ ${#param_name} -gt 0 ]; then
159
-        if [ -f $COMPLETION_FILE ]; then
160
-            if ! grep -Fxq "${param_name}" $COMPLETION_FILE; then
161
-                echo "${param_name}" >> $COMPLETION_FILE
159
+        if [ -f "$COMPLETION_FILE" ]; then
160
+            if ! grep -Fxq "${param_name}" "$COMPLETION_FILE"; then
161
+                echo "${param_name}" >> "$COMPLETION_FILE"
162 162
             fi
163 163
         else
164
-            echo "${param_name}" > $COMPLETION_FILE
164
+            echo "${param_name}" > "$COMPLETION_FILE"
165 165
         fi
166 166
     fi
167 167
 }
@@ -169,16 +169,16 @@ function mark_completed {
169 169
 function is_completed {
170 170
     param_name="$1"
171 171
 
172
-    if [ ! $COMPLETION_FILE ]; then
173
-        COMPLETION_FILE=$HOME/${PROJECT_NAME}-completed.txt
172
+    if [ ! "$COMPLETION_FILE" ]; then
173
+        COMPLETION_FILE="$HOME/${PROJECT_NAME}-completed.txt"
174 174
     fi
175 175
     if [ ${#COMPLETION_FILE} -eq 0 ]; then
176
-        COMPLETION_FILE=$HOME/${PROJECT_NAME}-completed.txt
176
+        COMPLETION_FILE="$HOME/${PROJECT_NAME}-completed.txt"
177 177
     fi
178 178
 
179 179
     if [ ${#param_name} -gt 0 ]; then
180
-        if [ -f $COMPLETION_FILE ]; then
181
-            if grep -Fxq "${param_name}" $COMPLETION_FILE; then
180
+        if [ -f "$COMPLETION_FILE" ]; then
181
+            if grep -Fxq "${param_name}" "$COMPLETION_FILE"; then
182 182
                 echo "1"
183 183
                 return
184 184
             fi
@@ -191,15 +191,11 @@ function read_config_param {
191 191
     param_name="$1"
192 192
 
193 193
     if [ ${#param_name} -gt 0 ]; then
194
-        if [ $CONFIGURATION_FILE ]; then
195
-            if [ -f $CONFIGURATION_FILE ]; then
196
-                if grep -q "${param_name}=" $CONFIGURATION_FILE; then
197
-                    param_value=$(cat $CONFIGURATION_FILE | grep "${param_name}=" | head -n 1 | awk -F '=' '{print $2}')
198
-                    if [[ "${param_value}" != *" "* ]]; then
199
-                        export ${param_name}=${param_value}
200
-                    else
201
-                        export ${param_name}="${param_value}"
202
-                    fi
194
+        if [ "$CONFIGURATION_FILE" ]; then
195
+            if [ -f "$CONFIGURATION_FILE" ]; then
196
+                if grep -q "${param_name}=" "$CONFIGURATION_FILE"; then
197
+                    param_value=$(grep "${param_name}=" "$CONFIGURATION_FILE" | head -n 1 | awk -F '=' '{print $2}')
198
+                    export "${param_name}"="${param_value}"
203 199
                 fi
204 200
             fi
205 201
         fi
@@ -210,10 +206,10 @@ function config_param_exists {
210 206
     param_name="$1"
211 207
 
212 208
     if [ ${#param_name} -gt 0 ]; then
213
-        if [ $CONFIGURATION_FILE ]; then
214
-            if [ -f $CONFIGURATION_FILE ]; then
215
-                if grep -q "${param_name}=" $CONFIGURATION_FILE; then
216
-                    param_value=$(cat $CONFIGURATION_FILE | grep "${param_name}=" | head -n 1 | awk -F '=' '{print $2}')
209
+        if [ "$CONFIGURATION_FILE" ]; then
210
+            if [ -f "$CONFIGURATION_FILE" ]; then
211
+                if grep -q "${param_name}=" "$CONFIGURATION_FILE"; then
212
+                    param_value=$(grep "${param_name}=" "$CONFIGURATION_FILE" | head -n 1 | awk -F '=' '{print $2}')
217 213
                     if [ ${#param_value} -gt 0 ]; then
218 214
                         echo "1"
219 215
                         return
@@ -229,7 +225,7 @@ function write_config_param {
229 225
     param_name="$1"
230 226
     param_value="$2"
231 227
 
232
-    if [ ! $CONFIGURATION_FILE ]; then
228
+    if [ ! "$CONFIGURATION_FILE" ]; then
233 229
         CONFIGURATION_FILE=$HOME/${PROJECT_NAME}.cfg
234 230
     fi
235 231
     if [ ${#CONFIGURATION_FILE} -eq 0 ]; then
@@ -238,14 +234,14 @@ function write_config_param {
238 234
 
239 235
     if [ ${#param_name} -gt 0 ]; then
240 236
         if [ ${#param_value} -gt 0 ]; then
241
-            if [ -f $CONFIGURATION_FILE ]; then
242
-                if grep -q "${param_name}=" $CONFIGURATION_FILE; then
243
-                    sed -i "s|${param_name}=.*|${param_name}=${param_value}|g" $CONFIGURATION_FILE
237
+            if [ -f "$CONFIGURATION_FILE" ]; then
238
+                if grep -q "${param_name}=" "$CONFIGURATION_FILE"; then
239
+                    sed -i "s|${param_name}=.*|${param_name}=${param_value}|g" "$CONFIGURATION_FILE"
244 240
                 else
245
-                    echo "${param_name}=${param_value}" >> $CONFIGURATION_FILE
241
+                    echo "${param_name}=${param_value}" >> "$CONFIGURATION_FILE"
246 242
                 fi
247 243
             else
248
-                echo "${param_name}=${param_value}" > $CONFIGURATION_FILE
244
+                echo "${param_name}=${param_value}" > "$CONFIGURATION_FILE"
249 245
             fi
250 246
         fi
251 247
     fi
@@ -255,10 +251,10 @@ function remove_config_param {
255 251
     param_name="$1"
256 252
 
257 253
     if [ ${#param_name} -gt 0 ]; then
258
-        if [ $CONFIGURATION_FILE ]; then
259
-            if [ -f $CONFIGURATION_FILE ]; then
260
-                if grep -q "${param_name}=" $CONFIGURATION_FILE; then
261
-                    sed -i "/${param_name}=/d" $CONFIGURATION_FILE
254
+        if [ "$CONFIGURATION_FILE" ]; then
255
+            if [ -f "$CONFIGURATION_FILE" ]; then
256
+                if grep -q "${param_name}=" "$CONFIGURATION_FILE"; then
257
+                    sed -i "/${param_name}=/d" "$CONFIGURATION_FILE"
262 258
                 fi
263 259
             fi
264 260
         fi
@@ -269,13 +265,13 @@ function remove_completion_param {
269 265
     param_name="$1"
270 266
 
271 267
     if [ ${#param_name} -gt 0 ]; then
272
-        if [ $COMPLETION_FILE ]; then
273
-            if [ -f $COMPLETION_FILE ]; then
274
-                if grep -Fxq "${param_name}" $COMPLETION_FILE; then
275
-                    sed -i "/${param_name}/d" $COMPLETION_FILE
268
+        if [ "$COMPLETION_FILE" ]; then
269
+            if [ -f "$COMPLETION_FILE" ]; then
270
+                if grep -Fxq "${param_name}" "$COMPLETION_FILE"; then
271
+                    sed -i "/${param_name}/d" "$COMPLETION_FILE"
276 272
                 fi
277
-                if grep -q "${param_name}:" $COMPLETION_FILE; then
278
-                    sed -i "/${param_name}:/d" $COMPLETION_FILE
273
+                if grep -q "${param_name}:" "$COMPLETION_FILE"; then
274
+                    sed -i "/${param_name}:/d" "$COMPLETION_FILE"
279 275
                 fi
280 276
             fi
281 277
         fi
@@ -291,16 +287,16 @@ function save_configuration_values {
291 287
 
292 288
 function read_configuration_values {
293 289
     # if not installing on a Beaglebone then use sdb as the USB drive by default
294
-    if [ ! $INSTALLING_ON_BBB ]; then
290
+    if [ ! "$INSTALLING_ON_BBB" ]; then
295 291
         if [[ $USB_DRIVE == /dev/sda1 ]]; then
296 292
             USB_DRIVE=/dev/sdb1
297 293
         fi
298 294
     fi
299 295
 
300
-    if [ -f $CONFIGURATION_FILE ]; then
296
+    if [ -f "$CONFIGURATION_FILE" ]; then
301 297
         # Ensure that a copy of the config exists for upgrade purposes
302 298
         if [[ $CONFIGURATION_FILE != "/root/${PROJECT_NAME}.cfg" ]]; then
303
-            cp $CONFIGURATION_FILE /root/${PROJECT_NAME}.cfg
299
+            cp "$CONFIGURATION_FILE" "/root/${PROJECT_NAME}.cfg"
304 300
         fi
305 301
 
306 302
         for v in "${configuration_variables[@]}"
@@ -308,8 +304,9 @@ function read_configuration_values {
308 304
             read_config_param "$v"
309 305
         done
310 306
 
311
-        if grep -q "DEBIAN_REPO" $CONFIGURATION_FILE; then
307
+        if grep -q "DEBIAN_REPO" "$CONFIGURATION_FILE"; then
312 308
             read_config_param "DEBIAN_REPO"
309
+            # shellcheck disable=SC2034
313 310
             CHECK_MESSAGE=$"Check your internet connection, /etc/network/interfaces and /etc/resolvconf/resolv.conf.d/head, then delete $COMPLETION_FILE, run 'rm -fR /var/lib/apt/lists/* && apt-get update --fix-missing' and run this script again. If hash sum mismatches persist then try setting $DEBIAN_REPO to a different mirror and also change /etc/apt/sources.list."
314 311
         fi
315 312
     fi
@@ -317,7 +314,7 @@ function read_configuration_values {
317 314
 
318 315
 function read_configuration {
319 316
     if [[ $INSTALLING_FROM_CONFIGURATION_FILE == "yes"  ]]; then
320
-        if [ ! -f $CONFIGURATION_FILE ]; then
317
+        if [ ! -f "$CONFIGURATION_FILE" ]; then
321 318
             echo $"The configuration file $CONFIGURATION_FILE was not found"
322 319
             exit 8935
323 320
         fi
@@ -336,8 +333,8 @@ function check_system_type {
336 333
 
337 334
 # check that domain names are valid and that they are unique for each app
338 335
 function check_domains {
339
-    specified_domains=$(cat $CONFIGURATION_FILE | grep "_DOMAIN_NAME" | uniq)
340
-    domains_array=($specified_domains)
336
+    specified_domains=$(grep "_DOMAIN_NAME" "$CONFIGURATION_FILE" | uniq)
337
+    domains_array=("$specified_domains")
341 338
     checked_domains=()
342 339
 
343 340
     for d in "${domains_array[@]}"
@@ -346,8 +343,7 @@ function check_domains {
346 343
         if [[ "$domain_param" != "DEFAULT_DOMAIN_NAME" ]]; then
347 344
             domain_value=$(echo "$d" | awk -F '=' '{print $2}')
348 345
             if [[ "$domain_value" != "${LOCAL_NAME}.local" ]]; then
349
-                item_in_array "${domain_value}" "${checked_domains[@]}"
350
-                if [[ $? != 0 ]]; then
346
+                if ! item_in_array "${domain_value}" "${checked_domains[@]}"; then
351 347
                     # test that this is a valid domain name
352 348
                     function_check test_domain_name
353 349
                     test_domain_name "$domain_value"