Sha256: 54f4ae105a33a5efa1854f0d27d569e65f1020aa8e7846e2f59ad673e8208dca

Contents?: true

Size: 1.08 KB

Versions: 2

Compression:

Stored size: 1.08 KB

Contents

#!/usr/bin/env bash

usage() {
  printf "\nUsage:\n" >&2
  printf "\n  $rvm_path/scripts/db database_file {{key}} {{value}} # set" >&2
  printf "\n  $rvm_path/scripts/db database_file {{key}} # get" >&2
  printf "\n  $rvm_path/scripts/db database_file {{key}} unset # unset\n\n" >&2
}

if [[ -f "$1" ]] ; then
  database_file="$1" ; shift
  if [[ ! -f "$database_file" ]] ; then
    \mkdir -p $(dirname $database_file)
    \touch $database_file
  fi
else
  printf "\n\nDatabase file $1 does not exist.\n\n" >&2
  exit 1
fi

key="$1" ; shift
if [[ -z "$key" ]] ; then
  usage
  exit 1
else
  value="$*"
  if [[ "unset" = "$value" ]] || [[ "delete" = "$value" ]] ; then
    sed -i.tmp -e "s#^$key=.*\$##" -e '/^$/d' $database_file
  else
    if [[ -z "$value" ]] ; then # get
      awk -F= '/^'"$key"'=/' $database_file | sed -e "s#^$key=##" -e '/^$/d'
    else # set
      if [[ -z "$(awk -F= "/^'"$key"'=/{print $2}" $database_file)" ]] ; then # append
        echo "$key=$value" >> $database_file
      else # overwrite
        sed -i.tmp "s#^$key=.*\$#$key=$value#" $database_file
      fi
    fi
  fi
fi

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rvm-1.0.8 scripts/db
rvm-1.0.7 scripts/db