#!/bin/bash InsertIfUnset() { #InsertIfUnset table [no_id] < key value \n key value local \ table="$1" \ no_id="${2:-0}" \ column \ key \ keys \ results \ value \ values while read key value do keys+=( "$key" ) values+=( "$value" ) done if (( no_id )) then column="${keys[0]}" else column='id' fi if ! results=$( Select "$table" "$column" < <( for key in ${!keys[@]} do echo "${keys[$key]}" = "${values[$key]}" done ) ) then results=$( Insert "$table" < <( for key in ${!keys[@]} do echo "${keys[$key]}" "${values[$key]}" done ) ) fi echo "$results" }