domingo, 29 de julho de 2007

feet.sh



A imagem ao lado é parte de um terminal rodando o primo gringo do script "pes.sh". Reescrevi completamente o script (um pseudo screensaver feito em bash) e prá não dar o mesmo nome (e, quem sabe, conquistar o mundo ;) chamei-o de "feet.sh". Nome original, não?

Se quiser baixar o arquivo prá não precisar copiar, colar e ajustar a identação, o link é http://dwarfurl.com/8f937.

Abaixo, o código formatado:


#!/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

Nenhum comentário: