matrix.sh (Wake up, neo...)

Publicado por João Ricardo Pontes Letonai 28/11/2006

[ Hits: 9.199 ]

Download matrix.sh




Este script não tem muita utilidade, mas pode servir de exemplo para alguns comandos.

Sintaxe: ./matrix.sh "<texto>"

Exemplo:

./matrix.sh "Wake up, $USER"

Exibirá a frase com um efeito parecido com o que aparece no filme Matrix no terminal do Neo, porém não coloquei na cor verde.

Dúvidas estou a disposição.

  



Esconder código-fonte

#!/bin/bash
## Matrix 0.1
## By
##      CodNeg
### letonai@gmail.com
clear
tam1=$(echo $1 | wc -c)
tam=$(echo $(($tam1 -1)))
for i in $(seq $tam)
do
        sleep 0.2
        tput cup 0 $i
        echo $1 | cut -c $i

done

Scripts recomendados

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

Menu_Funcional dialog

WPS Office Suite para Linux - Desastrosa primeira impressão

Teste de conexão no Velox

Lista de Vetores


  

Comentários
[1] Comentário enviado por letifer em 27/06/2009 - 16:57h

Achei um barato seu script, João Ricardo.
Então fiz algumas modificações (bem ao espírito do software livre ;^)


#!/bin/bash
# Matrix
# Autor : CodNeg <letonai@gmail.com>
# Autor : /dev/movebo <dev.movebo@gmail.com>
# Versão : 0.2

# Se nenhum argumento tiver sido passado, exibiremos a mensagem padrão,
# do contrário atribuiremos todos os argumentos como uma única string a MSG
# A barra ao contrário indica quando pausar e pular a linha
[ -z "$1" ] && MSG="Wake up, $USER...\The Matrix has you...\Follow the white rabbit.\Knock, knock, $USER." || MSG="$*"

# POS armazena a posição dos caracteres
let POS=0

# let realiza operações aritméticas com inteiros
let TAM=( `echo "$MSG" | wc -c` )
tput clear # Limpa a tela
tput civis # Torna o cursos invisível

# Veja a tabelas de cores e efeitos: http://aurelio.net/shell/canivete.html#cores
echo -e '\e[32;1m'


for i in $( seq $TAM )
do
CHAR=$( echo -e "$MSG" | cut -c $i )

if [ "$CHAR" = '\' ] ; then
# Encontramos uma barra, a posição é zerada, pause 2 segundos, limpe a tela
let POS=0
sleep 2
tput clear
else
sleep 0.2
tput cup 0 $POS
echo $CHAR
let POS++
fi
done

# Se houver o programa espeak, diga a frase abaixo:
ESPEAK=$( which espeak )
[ -n "$ESPEAK" ] && echo "Desperte, $USER." | $ESPEAK --stdin -v pt

sleep 2
tput cnorm # Volte o cursor ao normal
echo -e '\e[m' # Volte as cores normais


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts