export variable shell code example

Example: linux bash export vars between shell instances

export_global_var () {

filename=/tmp/env
test -f $filename || touch $filename

  {
    flock 0 #prevents isssues with multi thread process

    #set -x  #enables verbose/debug

    . /tmp/env
    [ $# -eq 0 ] || export "$@"

    echo "$@"
    #echo "$@" >> /tmp/env  #export into file

   KEY=`echo "$@" | awk '{split($0,a,"="); print a[1]}'`
   #sed '/"$KEY"/c > "$@"' $filename
   VAR_IN_FILE=`cat $filename | grep "$KEY"`
   (grep -q "$KEY" $filename || echo "$@" >> $filename) && grep -rl "$KEY" $filename | xargs sed -i "s/$VAR_IN_FILE/$@/g"

  } < $filename

  source $filename #import into mem
}

import_global_var () {
 filename=/tmp/env

 echo "importing global variables..."
 source $filename #import into mem
}


USAGE:
export_global_var DEPLOY_BOOLEAN=0  EXEC=1 #export var gobally
import_global_var #import vars from global vars