De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


Feliz 2011

Colaboração: Júlio Cezar Neves

Data de Publicação: 01 de janeiro de 2011

Meus amigos,

Como um nerd poderia desejar Feliz Ano Novo? Obviamente com um scriptinho... )

Favor executar o script em anexo em um terminal e tenham um 2011 cheio de suShellso e Sw Livre.

Para funcionar, você precisa ter o pacote zenity instalado em seu computador e executar o script em modo gráfico.

Se der algum problema, favor reportar.

Abraços,

Julio

Download do script

AnoNovo.sh

  #!/bin/bash
  #
  # Brincadeira de Ano Novo
  # Autor: Julio Neves
  #
  trap 'tput cnorm; tput sgr0; clear; exit' 0 2 3 15
  Cor=6
  function ApagaAcende
  {
      tput cup $[Lin - 4] $[Meio + 1]
      ((n == 0)) && {
  		echo "TIM  TIM"
  		n=1
  		return
  	}
  	tput el
  	n=0
  }
  function Cab
  {
  	Cor=$[Cor == 7?0:++Cor]
  	tput setaf $Cor; tput bold
  	tput cup 0 0
      echo "
        FFFFFFF  EEEEEEE  LLL      III  ZZZZZZZ               22222     0000      1111     1111
        FFFFFFF  EEEEEEE  LLL      III  ZZZZZZZ              2222222   000000    11111    11111
        FFF      EEE      LLL      III      ZZZ              22  222  000  000  11 111   11 111
        FFFFF    EEEEE    LLL      III     ZZZ                  222   000  000     111      111
        FFFFF    EEEEE    LLL      III    ZZZ                  222    000  000     111      111
        FFF      EEE      LLL      III   ZZZ                  222     000  000     111      111
        FFF      EEEEEEE  LLLLLLL  III  ZZZZZZZ              2222222   000000    1111111  1111111
        FFF      EEEEEEE  LLLLLLL  III  ZZZZZZZ              2222222    0000     1111111  1111111"
      tput setaf 3
  
  }
  function FazBolha
  {
      for k in 1 2 
      do
      	y=0
          for Sai in 2 4 6 6 
          do  
              C1=$[Sai == 2?$[Meio + 1]:$[Sai == 4?Meio - 0:Meio - 1]]
              C2=$[Sai == 2?$[Meio + 7]:$[Sai == 4?Meio + 6:Meio + 5]]
      		Var=
              for ((j=1; j<=Sai; j++))
              {   
                  Var=$Var$[RANDOM % 2]" "
              }   
              x=0 
  	    	let y++
              for SN in $Var
              do  
                  ((SN)) && {
                      tput cup $[Lin + 2 - y] $[k == 1?C1 + x:C2 + x]
                      echo .
                  }   
      			let x++
              done
          done
      done
  }
  Cols=5
  Fim=$(tput cols)
  while ((Fim < 96))
  do
      tput flash
  	zenity --error --text "Ponha o terminal em\nModo de tela cheia" || exit 1
      Fim=$(tput cols)
  done
  Meio=$[Fim / 2 - 5]
  Lin=$[$(tput lines) - 7]
  tput civis
  tput setab 1
  tput bold
  tput setaf 3
  clear
  
  for ((i=1; i<$Meio; i++))
  do
  
      tput cup $Lin $[i - 1]; echo '      '
      tput cup $[Lin + 1] $[i - 1]; echo '     '
      tput cup $[Lin + 2] $[i - 1]; echo '    '
      tput cup $[Lin + 3] $[i - 1]; echo '    '
      tput cup $[Lin + 4] $[i - 1]; echo '    '
      tput cup $[Lin + 5] $[i - 1]; echo '     '
      tput cup $Lin $i; echo '\____/'
      tput cup $[Lin + 1] $i; echo ' \  /'
      tput cup $[Lin + 2] $i; echo '  \/'
      tput cup $[Lin + 3] $i; echo '  ||'
      tput cup $[Lin + 4] $i; echo '  ||'
      tput cup $[Lin + 5] $i; echo ' (__)'
      tput cup $Lin $[Fim - i - 5]; echo '      '
      tput cup $[Lin + 1] $[Fim - i - 5]; echo '     '
      tput cup $[Lin + 2] $[Fim - i - 5]; echo '    '
      tput cup $[Lin + 3] $[Fim - i - 5]; echo '    '
      tput cup $[Lin + 4] $[Fim - i - 5]; echo '    '
      tput cup $[Lin + 5] $[Fim - i - 5]; echo '     '
      tput cup $Lin $[Fim - i - 6]; echo '\____/'
      tput cup $[Lin + 1] $[Fim - i - 6]; echo ' \  /'
      tput cup $[Lin + 2] $[Fim - i - 6]; echo '  \/'
      tput cup $[Lin + 3] $[Fim - i - 6]; echo '  ||'
      tput cup $[Lin + 4] $[Fim - i - 6]; echo '  ||'
      tput cup $[Lin + 5] $[Fim - i - 6]; echo ' (__)'
  	Cab
  done
  for ((f=0; f<5; f++))
  {
      tput flash
  	sleep 0.02
  }
  while true
  do
      ((++Conta % 6)) || ApagaAcende
      FazBolha
  	Cab
  	sleep 0.05
      y=0
  	for Sai in 2 4 6 6
  	do
  		let y++
  	    C1=$[Sai == 2?$[Meio + 1]:$[Sai == 4?Meio - 0:Meio - 1]]
  	    C2=$[Sai == 2?$[Meio + 7]:$[Sai == 4?Meio + 6:Meio + 5]]
  	    for ((j=1; j<=Sai; j++))
  	    {   
  	        Trab="$Trab"$(((Sai == 4)) && echo -n _ || echo -n ' ')
  	    }
  	    tput cup $[Lin + 2 - y] $C1
  	    echo "$Trab"
  	    tput cup $[Lin + 2 - y] $C2
  	    echo "$Trab"
  		Trab=
  	done
  	Cab
  	sleep 0.05
  done

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Júlio Cezar Neves