Muito bom Valtoir!! Parabéns!
<SkFogo> ----- Original Message ----- From: Valtoir S. Jardim To: [email protected] Sent: Thursday, May 10, 2007 10:01 PM Subject: [shell-script] pes.sh versão 0.2 :) 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 ----------------------------------- __________ Informação do NOD32 IMON 1.1189 (20050808) __________ Esta mensagem foi verificada pelo NOD32 sistema antivírus http://www.eset.com.br [As partes desta mensagem que não continham texto foram removidas]
