#!/usr/bin/env bash [[ " shell help shell:help " == *" $1 "* ]] || exit "$DOKKU_NOT_IMPLEMENTED_EXIT" set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x case "$1" in shell) INPUTRC="$PLUGIN_ROOT/inputrc" HISTFILE=~/.dokku_history history -r || true trim() { sed -e 's/^[[:space:]]*//g' -e 's/[[:space:]]*$//g' } trap 'history -w' EXIT while true; do trap '' SIGINT read -rep "dokku> " line || { echo; true; break } trap - SIGINT line=$(echo "$line" | trim) CMD=$(echo "$line" | awk '{ print $1 }') [[ -z $CMD ]] && continue [[ "$line" != "$(fc -ln -1 | trim)" ]] && history -s "$line" case $CMD in # shell builtins clear) clear ;; quit|exit) break ;; # Not a built-in, run as regular dokku command *) dokku "$line" || true esac done ;; help | shell:help) cat<