2017-10-08 00:55:26 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
TYPE_SPEED="${TYPE_SPEED:-15}"
|
2017-10-08 00:57:44 +00:00
|
|
|
PROMPT_TIMEOUT="${PROMPT_TIMEOUT:--1}"
|
2017-10-08 00:55:26 +00:00
|
|
|
|
2017-10-08 02:10:47 +00:00
|
|
|
def="\033[0;00m"
|
|
|
|
blu="\033[0;34m"
|
|
|
|
cyn="\033[0;36m"
|
|
|
|
|
2017-10-08 00:55:26 +00:00
|
|
|
function simtyping()
|
|
|
|
{ pv -qL $(($TYPE_SPEED+$((-2 + RANDOM%5)))); }
|
2017-10-08 00:57:44 +00:00
|
|
|
|
|
|
|
function wait()
|
|
|
|
{
|
|
|
|
if [ "$PROMPT_TIMEOUT" == "-1" ]; then
|
|
|
|
read -rs
|
|
|
|
else
|
|
|
|
read -rst "$PROMPT_TIMEOUT"
|
|
|
|
fi
|
2017-10-08 01:07:32 +00:00
|
|
|
printf "\n"
|
2017-10-08 00:57:44 +00:00
|
|
|
}
|
2017-10-08 01:01:25 +00:00
|
|
|
|
|
|
|
function type()
|
2017-10-08 01:32:03 +00:00
|
|
|
{ printf "$*" | simtyping; }
|
2017-10-08 01:07:32 +00:00
|
|
|
|
|
|
|
function execute()
|
2017-10-08 01:44:43 +00:00
|
|
|
{
|
2017-10-08 02:10:47 +00:00
|
|
|
printf "$cyn$(whoami)$def@$blu$(hostname)$def\$ "
|
2017-10-08 01:44:43 +00:00
|
|
|
type "$@" && wait
|
|
|
|
eval "$@"
|
|
|
|
}
|
2017-10-08 01:10:27 +00:00
|
|
|
|
|
|
|
function cmd()
|
|
|
|
{ read command && eval "${command}"; }
|