feet.sh - pseudo screensaver em bash

Publicado por Valtoir dos Santos Jardim 18/08/2008

[ Hits: 6.444 ]

Homepage: valtoir.wordpress.com

Download feet.sh




Feet.sh é um pequeno script que fiz como exercício de lógica e programação. Ele desenha pegadas no terminal, em posições aleatórias e cores idem. Para pará-lo é só pressionar qualquer tecla.

  



Esconder código-fonte

#!/bin/bash
#  author: Valtoir dos Santos Jardim
#  e-mail: valtoirjardim_at_gmail_dot_com
#    blog: valtoir.blogspot.com
#    date: 2007-07-29-21:28
# version: ~ 0.99
trap "" 2
setterm -cursor off -bold on
colors=(31 32 33 34 35 36 37)
rfp=("+8" "+9" "+8" "+8")
rfo=("(_/" ") /" "(   )" "Oooo.")
lfp=("+2" "+1" "" "")
lfo=("\_)" "\ (" "(   )" ".oooO")
feet () {
   while :; do
      left_foot=$(($RANDOM % $((`tput cols` - 12)))) || exit -1
      act_foot=$((RANDOM % 2))      
      color=${colors[$(($RANDOM % ${#colors[*]}))]}
      seed=$((RANDOM % 4))
      delay=.$(((RANDOM % 8) + 4))
      actline=$(tput lines)
      while :; do
         for i in $(seq $seed 4); do
            [ $((actline--)) -ge 1 ] || break
            if [ $act_foot -eq 0 ]; then
               tput cup $((actline)) $((left_foot ${rfp[$i]}))
               echo -e "\e[$color;1m""${rfo[$i]}""\c\e[m"
            else
               tput cup $((actline)) $((left_foot ${lfp[$i]}))
               echo -e "\e[$color;1m""${lfo[$i]}""\c\e[m"
            fi
         done
         if [ $act_foot -eq 0 ]; then
            act_foot=1
         else
            act_foot=0
         fi
      [ $actline -ge 1 ] || break
         seed=0
         sleep $delay
      done
   done
}
feet &
read -rs -n 1
echo -e "\e[m"
setterm -reset
clear
pkill feet

Scripts recomendados

Script para carregar e descarregar regras com iptables

MGME - Mythic Game Master Emulator

Script para controle de banda usando FreeRADIUS, PPPoE e HTB

Instalação de servidor LAMP com PHP 7 no Mint

Atualizar IP no vsftpd.conf


  

Comentários
[1] Comentário enviado por SMarcell em 18/08/2008 - 14:12h

Só faltou adicionar comentários, para facilitar a compreensão do que cada linha faz!

[2] Comentário enviado por edner_bertao em 18/08/2008 - 14:45h

Olá Valtoir !

Interessante seu script... acho que poderá servir de inspiração para outras coisas.

Parabéns !

[3] Comentário enviado por edirlf em 18/08/2008 - 20:29h

hahaha, que show de bola.
Vai pro favoritos, não pelas pegadas, mas pelo código, acho que vou aprender bastante coisa com isso.
Parabéns.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts