bugfix - changed shell script interpreter to env bash
[holmes/engine-management.git] / engine-d-standalone / src / main / assembly / bin / initDB.sh
index 3d2e8bc..3472e31 100644 (file)
@@ -1,6 +1,6 @@
-#!/bin/sh
+#!/usr/bin/env bash
 #
-# Copyright 2017 ZTE Corporation.
+# Copyright 2017-2021 ZTE Corporation.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -47,11 +47,17 @@ if [ -z `env | grep PGPASSWORD` ]; then
     need_unset=1
 fi
 
+# Escape the single quote to avoid cause errors when executing the scripts.
+password=`sed -rn "s/.+ ('.+') .+/\1/p" $main_path/dbscripts/postgresql/onap-holmes_engine-createobj.sql`
+password=${password:1:-1}
+password_e=`echo $password | sed "s#'#''#g"`
+sed -i "s#$password#$password_e#" $main_path/dbscripts/postgresql/onap-holmes_engine-createobj.sql
+
 psql -U "$user" -p "$port" -h "$host" -d "$dbname" -f $main_path/dbscripts/postgresql/onap-holmes_engine-createobj.sql
 psql -U "$user" -p "$port" -h "$host" -d "$dbname" --command 'select * from alarm_info;'
 sql_result=$?
 
-if [ $need_unset -eq 1 ]; then
+if [ "$need_unset"x = "1"x ]; then
     unset PGPASSWORD
 fi