você está aqui: Home → Colunistas → Cantinho do Shell
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 20 de Setembro de 2009
Eu assino a lista Shell-Script, mantida por João Eriberto Mota Filho, que também é autor do livre Descobrindo o Linux.
Em uma das mensagens da semana passada, saiu uma discussão sobre um screensaver, em Bash, imitando a famosa tela do filme Matrix. O script foi escrito pelo Júlio Cezar Neves, e eu o reproduzo a seguir. Esta mensagem gerou uma discussão muito interessante, em que muitos dos assinantes sugeriram modificações e melhorias. Enfim, muito educativo.
#!/bin/bash trap "echo -e '\033[m0';clear;setterm -cursor on;exit" 2 setterm -cursor off Chars="abcdefghijklmnopqrstuvxywzABCDEFGHIJKLMNOPQRSTUVXYWZ01234567890!@#$%¨&*()_-+=^~{}[];:?" clear while true; do lin=0 [ ${#Cols[@]} -eq $(($(tput cols)-2)) ] && unset Cols while true; do COL=$((RANDOM%$(tput cols))) [ "${Cols[$COL]}" ] && continue Cols[$COL]=1 break done COR="\e[3$((RANDOM%7+1));1m" while [ $lin -lt $(tput lines) ]; do Char=$(echo $Chars | cut -c$((RANDOM%86+1))) for i in `seq 1 5`;do Char1=$(echo $Chars | cut -c$i);sleep 0.000001 tput cup $lin $COL; echo -en "\e[37;1m$Char1" done tput cup $lin $COL; echo -en "$COR$Char";sleep 0.0001 let lin++ done done