#!/bin/bash # Copyright 2016 The Kubernetes Authors All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. readonly reset=$(tput sgr0) readonly green=$(tput bold; tput setaf 2) readonly yellow=$(tput bold; tput setaf 3) readonly blue=$(tput bold; tput setaf 6) function desc() { maybe_first_prompt echo "$blue# $@$reset" prompt } function prompt() { echo -n "$yellow\$ $reset" } started="" function maybe_first_prompt() { if [ -z "$started" ]; then prompt started=true fi } function run() { maybe_first_prompt rate=25 if [ -n "$DEMO_RUN_FAST" ]; then rate=1000 fi echo "$green$1$reset" | pv -qL $rate if [ -n "$DEMO_RUN_FAST" ]; then sleep 0.5 fi eval "$1" r=$? read -d '' -t 1 -n 10000 # clear stdin prompt if [ -z "$DEMO_AUTO_RUN" ]; then read -s fi return $r } function relative() { for arg; do echo "$(realpath $(dirname $(which $0)))/$arg" | sed "s|$(realpath $(pwd))|.|" done } trap "echo" EXIT