Sha256: 4bf5d702fc70ab9aefe82dbaa3f7f3448fe7f55649c4a5c561ed13799333bc1e

Contents?: true

Size: 1.04 KB

Versions: 4

Compression:

Stored size: 1.04 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 "s#^$key=.*\$##" $database_file
  else
    if [[ -z "$value" ]] ; then # get
      awk -F= '/^'"$key"'=/{print $2}' $database_file
    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

4 entries across 4 versions & 1 rubygems

Version Path
rvm-0.1.36 scripts/db
rvm-0.1.35 scripts/db
rvm-0.1.34 scripts/db
rvm-0.1.33 scripts/db