penguin/utils

my env utils

bash/core/50_upgrade.bash

raw ยท 672 bytes

rbash-upgrade() {
  echo "Updating $__RBASH_SCRIPT"

  local tmp new_host new_domain new_color
  tmp="$(mktemp)"

  rbash_download "$(rbash_url "rbashrc")" > "$tmp" || {
    rm -f "$tmp"
    return 1
  }

  if [ -n "${1:-}" ]; then
    new_host="$1"
    new_domain="${2:-}"
    new_color="${3:-$RCOLOR}"
  else
    new_host="$RHOSTNAME"
    new_domain="$RDOMAIN"
    new_color="$RCOLOR"
  fi

  sed \
    -e "s|<HOSTNAME>|$new_host|g" \
    -e "s|<DOMAIN>|$new_domain|g" \
    -e "s|<RCOLOR>|$new_color|g" \
    "$tmp" > "$tmp.new"

  mv "$tmp.new" "$__RBASH_SCRIPT"
  rm -f "$tmp"

  rm -rf "$RBASH_CACHE_DIR"

  # shellcheck source=/dev/null
  source "$__RBASH_SCRIPT"
}