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

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

Re: [shell-script] pes.sh versão 0.2 :)


From: Adriano Frare
Subject: Re: [shell-script] pes.sh versão 0.2 :)
Date: Fri, 11 May 2007 09:44:08 -0300
User-agent: Thunderbird 1.5.0.10 (Windows/20070221)

Gostaria de saber como faço pra parar o screensave, posi não para qdo eu teclo algo na console.

SkFogo Skates wrote:
Muito bom Valtoir!!

Parabéns!

<SkFogo>

----- Original Message ----- From: Valtoir S. Jardim To: address@hidden 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]



---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

Links do Yahoo! Grupos




reply via email to

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