Sha256: ea2e3c7fb87bd78ad433aa7d6fa0d114e71b0f17ba17558eda6331559f4ba3fc

Contents?: true

Size: 1.08 KB

Versions: 6

Compression:

Stored size: 1.08 KB

Contents

#!/usr/bin/env bash

usage() {
  printf "\nUsage:\n" >&2
  printf "\n  $rvm_scripts_path/db database_file {{key}} {{value}} # set" >&2
  printf "\n  $rvm_scripts_path/db database_file {{key}} # get" >&2
  printf "\n  $rvm_scripts_path/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

6 entries across 6 versions & 1 rubygems

Version Path
rvm-0.1.45 scripts/db
rvm-0.1.44 scripts/db
rvm-0.1.43 scripts/db
rvm-0.1.42 scripts/db
rvm-0.1.41 scripts/db
rvm-0.1.40 scripts/db