shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

pes.sh versão 0.2 :)


From: Valtoir S. Jardim
Subject: pes.sh versão 0.2 :)
Date: Thu, 10 May 2007 22:01:17 -0300 (BRT)
User-agent: SquirrelMail/1.4.6

Resolvido o problema do ctrl-c.

Que tal? Agora até parece um screensaver de verdade!

Valtoir

-------------- pes.sh -------------
#!/bin/bash
#  autor: Valtoir dos Santos Jardim
# e-mail: valtoirjardim at gmail dot com
#   blog: valtoir.blogspot.com
#   data: 2007-05-10
# versao: 0.2
trap "clear; setterm -reset; pkill pes.sh; exit" 2
while getopts "hc:" opt; do
~~~case $opt in
~~~~~~h) echo -e "\nUso: pes.sh -h | -c <caractere>"
~~~~~~~~~echo -e "\nParametros:"
~~~~~~~~~echo -e " -h: Mostra essa (grande) ajuda"
~~~~~~~~~echo -e " -c <caractere>: Limpa a tela e define caractere de
preenchimento"
~~~~~~~~~echo -e "\nExemplo:"
~~~~~~~~~echo -e " pes.sh -c#\n"
~~~~~~~~~exit;;
~~~~~~c) clear;
~~~~~~~~~for i in $(seq 0 `tput lines`); do
~~~~~~~~~~~~for w in $(seq 1 `tput cols`); do
~~~~~~~~~~~~~~~~echo -e "$OPTARG\c"
~~~~~~~~~~~~done;
~~~~~~~~~~~~tput cup $i;
~~~~~~~~~done;;
~~~~~~?) exit -1;
~~~esac
done
pes () {
~~~colors=(31 32 33 34 35 36 37)
~~~signal=( + - )
~~~setterm -cursor off -bold on
~~~while :; do
~~~~~~moreorless=$((RANDOM%2))
~~~~~~color=${colors[$(($RANDOM%${#colors[*]}))]}
~~~~~~delay=.$(((RANDOM%8)+4))
~~~~~~left_foot=$(($RANDOM%$((`tput cols` - 12))))
~~~~~~right_foot=$(($left_foot + 8))
~~~~~~lines=$(($(tput lines) - 5))
~~~~~~[ "$moreorless" == "1" ] && {
~~~~~~~~~tput cup $((lines + 5)) $left_foot
~~~~~~~~~echo -e "\e[$color;1m.oooO\c\e[m"
~~~~~~}
~~~~~~for line in `seq $((($lines ${signal[$moreorless]} 1))) -10 5`; do
~~~~~~~~~sleep $delay
~~~~~~~~~tput cup $((line++)) $right_foot
~~~~~~~~~echo -e "\e[$color;1mOooo.\e[m"
~~~~~~~~~tput cup $((line++)) $right_foot
~~~~~~~~~echo -e "\e[$color;1m(   )\e[m"
~~~~~~~~~tput cup $((line++)) $((right_foot + 1))
~~~~~~~~~echo -e "\e[$color;1m) /\e[m"
~~~~~~~~~tput cup $((line++)) $right_foot
~~~~~~~~~echo -e "\e[$color;1m(_/\c\e[m"
~~~~~~~~~sleep $delay
~~~~~~~~~tput cup $((line - 9)) $left_foot
~~~~~~~~~echo -e "\e[$color;1m.oooO\e[m"
~~~~~~~~~tput cup $((line - 8)) $left_foot
~~~~~~~~~echo -e "\e[$color;1m(   )\e[m"
~~~~~~~~~tput cup $((line - 7)) $((left_foot + 1))
~~~~~~~~~echo -e "\e[$color;1m\ (\e[m"
~~~~~~~~~tput cup $((line - 6)) $((left_foot + 2))
~~~~~~~~~echo -e "\e[$color;1m\_)\e[m"
~~~~~~done
~~~~~~sleep $delay
~~~~~~[ $((line -14)) -lt 0 ] || {
~~~~~~~~~tput cup $((line - 14)) $right_foot
~~~~~~~~~echo -e "\e[$color;1mOooo.\e[m"
~~~~~~}
~~~~~~[ $((line -13)) -lt 0 ] || {
~~~~~~~~~tput cup $((line - 13)) $right_foot
~~~~~~~~~echo -e "\e[$color;1m(   )\e[m"
~~~~~~}
~~~~~~[ $((line -12)) -lt 0 ] || {
~~~~~~~~~tput cup $((line - 12)) $((right_foot + 1))
~~~~~~~~~echo -e "\e[$color;1m) /\e[m"
~~~~~~}
~~~~~~[ $((line -11)) -lt 0 ] || {
~~~~~~~~~tput cup $((line - 11)) $right_foot
~~~~~~~~~echo -e "\e[$color;1m(_/\e[m"
~~~~~~}
~~~~~~sleep $delay
~~~~~~[ $((line -18)) -lt 0 ] || {
~~~~~~~~~tput cup $((line - 18)) $left_foot
~~~~~~~~~echo -e "\e[$color;1m(   )\e[m"
~~~~~~}
~~~~~~[ $((line -17)) -lt 0 ] || {
~~~~~~~~~tput cup $((line - 17)) $((left_foot + 1))
~~~~~~~~~echo -e "\e[$color;1m\ (\e[m"
~~~~~~}
~~~~~~[ $((line -16)) -lt 0 ] || {
~~~~~~~~~tput cup $((line - 16)) $((left_foot + 2))
~~~~~~~~~echo -e "\e[$color;1m\_)\e[m"
~~~~~~}
~~~done
}
pes &
read -rs -n 1
setterm -reset
clear
pkill pes

-----------------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]