R=$(tput setaf 1)
BR=$(tput setaf 1; tput bold)
G=$(tput setaf 2)
BG=$(tput setaf 2; tput bold)
Y=$(tput setaf 3)
BY=$(tput setaf 3; tput bold)
B=$(tput setaf 4)
BB=$(tput setaf 4; tput bold)
M=$(tput setaf 5)
BM=$(tput setaf 5; tput bold)
C=$(tput setaf 6)
BC=$(tput setaf 6; tput bold)
L=$(tput setaf 7)
BL=$(tput setaf 7; tput bold)
BLD=$(tput bold)
N=$(tput sgr0)
SIT=$(tput sitm)
RIT=$(tput ritm)
UL=$(tput smul)
NL=$(tput rmul)
RV=$(tput rev)
RC=$(tput setaf $((RANDOM % 256)))
ROWS=$(tput lines)
RBG=$(tput setab 1)
BRBG=$(tput setab 1 ; tput bold )
GBG=$(tput setab 2)
BGBG=$(tput setab 2 ; tput bold )
YBG=$(tput setab 3)
BYBG=$(tput setab 3 ; tput bold )
BBG=$(tput setab 4)
BBBG=$(tput setab 4 ; tput bold )
MBG=$(tput setab 5)
BMBG=$(tput setab 5 ; tput bold )
CBG=$(tput setab 6)
BCBG=$(tput setab 6 ; tput bold )
WBG=$(tput setab 7)
BWBG=$(tput setab 7 ; tput bold )
DOW=$(date +%a)
TODAY=$(date +%m/%d)
DOM=$(date +%d)
OS=$(uname -s)
NAME=${0##*/}
LOG=~/etc/${HOSTNAME}.log
DEBUG=0
banner(){
figlet -f /usr/share/figlet/banner.flf $1
}
bl(){
[ $DEBUG == 1 ] && set -x
echo ""
}
data(){
[ $DEBUG == 1 ] && set -x
sed -n '/^===DATA===/,$p' <$0|grep -v '===DATA==='
}
display(){
[ $DEBUG == 1 ] && set -x
if [ -z $DISPLAY ]
then
echo "$(w|tail -1|awk '{print $3}') $TERM $(tput lines)r x $(tput cols)c"
else
echo "$DISPLAY $TERM $(tput lines)r x $(tput cols)c"
fi
}
error(){
[ $DEBUG == 1 ] && set -x
echo "${BR}$*$N"
exit 1
}
extract(){
[ $DEBUG == 1 ] && set -x
if [ -f $1 ]
then
case $1 in
*.tar.bz2) tar xvjf $1 ;;
*.tar.gz) tar xvzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xvf $1 ;;
*.tbz2) tar xvjf $1 ;;
*.tgz) tar xvzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1 ;;
*.7z) 7z x $1 ;;
*) echo "${BR}$1 ${N}cannot be extracted via >extract<"
file $1;;
esac
else
echo "${BR}$1 $N is not a valid file"
fi
}
future(){
toilet --metal -f future "$*"
}
lineit(){
[ $DEBUG == 1 ] && set -x
CHAR=$(echo -n "$1" |wc -c)
CNT="${2:-$(tput cols)}"
[ "$CHAR" -gt 1 ] && CNT=$(($CNT/$CHAR))
until [ $CNT -eq 0 ]
do
echo -n "$1"
CNT=$(($CNT - 1))
done
echo ""
}
log(){
[ "$DEBUG" == "1" ] && set -x
if [ "$#" -eq 0 ]
then
echo $BC
vd $LOG 2>/dev/null ||tail -7 $LOG
echo $N
else
echo -e "$(date '+%D%t%T')\t${NAME}\t$*">>"$LOG"
fi
}
mdv(){
pandoc $1| lynx -stdin
}
mod_script(){
[ "$DEBUG" == "1" ] && set -x
if [ "$NAME" == "bash" ]
then
log "modified: .bashrc"
vim ~/.bashrc
else
log "modified: $(basename $0)"
vim $0
fi
}
pause(){
[ $DEBUG == 1 ] && set -x
[ "$1" == "-nt" ] && TMOUT="" && shift
echo "$BY";
if [ $# -gt 0 ]
then
read -t $1 -r -p "${C}Hit any key (${BY}$1${C} second timeout)${N}" -n 1 FOO;
else
read -r -p "${C}Hit any key${N}" -n 1 FOO;
fi;
bl
}
rcb(){
tput setab $((RANDOM % 256))
}
rcf(){
tput setaf $((RANDOM % 256))
}
ren(){
[ $DEBUG == 1 ] && set -x
[ "$(pwd)" == "$HOME" ] && return
for FILE in "$@"
do
[ -z "$FILE" ] && return
if [[ "$FILE" == *"epub"* ]]
then
NEW=$(echo "$FILE"|tr [A-Z] [a-z] | sed 's/[^[:alnum:].-]//g' |tr -cs '[:alnum:]')
else
NEW=$(echo "$FILE"|tr [A-Z] [a-z] | sed 's/[[:blank:]]/-/g;s/[^[:alnum:].-]//g' |tr -cs '[:alnum:]')
fi
[ "$FILE" != "$NEW" ] && mv -v "$FILE" "$NEW" 2>/dev/null
done
}
resize(){
tput smcup
redraw() {
local str width height length
width=$(tput cols)
height=$(tput lines)
str="Width = $width Height = $height"
length=${#str}
clear
tput cup $((height / 2)) $(((width / 2) - (length / 2)))
echo "$str"
}
trap redraw WINCH
redraw
while true
do
:
done
}
s2m(){
num=$1
min=0
hour=0
day=0
if((num>59));then
((sec=num%60))
((num=num/60))
if((num>59));then
((min=num%60))
((num=num/60))
if((num>23));then
((hour=num%24))
((day=num/24))
else
((hour=num))
fi
else
((min=num))
fi
else
((sec=num))
fi
echo "$day"d "$hour"h "$min"m "$sec"s
}
title(){
[ $DEBUG == 1 ] && set -x
TEXT="$*"
LENGTH=$(echo -n $TEXT|wc -c)
echo $TEXT
lineit "-" $LENGTH
}
xtitle(){
printf "\033]0;%s\007" "$*"
}