diff --git a/functions.sh b/functions.sh index 9dfbbf2..68de191 100755 --- a/functions.sh +++ b/functions.sh @@ -1179,18 +1179,31 @@ function connectdb () { getdbcreds_cnf $2 ;; *) - echo "wrong argument" + echo "wrong argument" >&2 return 1 ;; esac - cat << EOF + cat << EOF >&2 connect to ${DB_HOST}:${DB_PORT}/${DB_NAME} with user: ${DB_USER} - and passwd: ${DB_PWD} + and passwd: ${DB_PWD:+********} EOF - PGPASSWORD=$DB_PWD psql -h $DB_HOST -p $DB_PORT -U $DB_USER $DB_NAME + if [ $# -gt 0 ] + then + case $1 in + -c) + shift + PGPASSWORD=$DB_PWD psql -h $DB_HOST -p $DB_PORT -U $DB_USER $DB_NAME -c "$@" + ;; + *) + PGPASSWORD=$DB_PWD psql -h $DB_HOST -p $DB_PORT -U $DB_USER $DB_NAME $@ + ;; + esac + else + PGPASSWORD=$DB_PWD psql -h $DB_HOST -p $DB_PORT -U $DB_USER $DB_NAME + fi }