Sha256: 40fa1343a308226671e51d9400ba0a270b553a6f02a58180ece32d9f91a203b7

Contents?: true

Size: 1.08 KB

Versions: 9

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

9 entries across 9 versions & 1 rubygems

Version Path
rvm-1.0.6 scripts/db
rvm-1.0.5 scripts/db
rvm-1.0.4 scripts/db
rvm-1.0.3 scripts/db
rvm-1.0.2 scripts/db
rvm-1.0.1 scripts/db
rvm-1.0.0 scripts/db
rvm-0.1.47 scripts/db
rvm-0.1.46 scripts/db