Acesso direto ao conteúdo

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

você está aqui: Home  → Colunistas  →  Cantinho do Shell

 

 

Seleção aleatória de texto para exibição em páginas Web

Por Rubens Queiroz de Almeida

Data de Publicação: 14 de Novembro de 2006

Em dois dos meus sites, Aprendendo Inglês e Contando Histórias, eu uso um script cgi que seleciona, dentre o acervo publicado no site, uma mensagem aleatória.

Para ver como funciona, visite o site Aprendendo Inglês ou o site Contando Histórias.

O mecanismo é o mesmo usado no script para gerar os números da loteria, com apenas algumas pequenas modificações.

  #!/bin/bash
  
  homedir=/var/www/
  
  cd $homedir/html
  
  # Neste ponto eu defino os limites inferior e superior
  # para a seleção das mensagens. O limite inferior é
  # 1 e o superior é igual ao número de arquivos existentes
  # no diretório. Eu obtenho este número através da combinação
  # dos comandos ls e wc.
  
  LOWER=1
  LENGTH=`ls *.inc | wc -l`
  
  # Aqui entra o perl novamente, para selecionar um número
  # aleatoriamente, entre os limites fornecidos
  
  Random=`perl -e "print int(rand($LENGTH+1))+$LOWER;"`
  
  # Atribuimos à variável Display o nome do arquivo
  # selecionado aleatoriamente. O comando ls lista
  # todos os arquivos do diretório e o sed seleciona, 
  # da lista completa, apenas  o nome do arquivo.
  # A variável Random contém o número aleatório gerado
  # e o sed imprime apenas a linha correspondente a este
  # número, que é o nome do arquivo que o script cgi
  # exibirá na tela
  
  Display=`ls | sed -n -e ${Random}p`
  
  # A seguir vem a montagem da página html. Como padrão,
  # temos as duas linhas com os comandos "echo" e em seguida
  # o conteúdo da página gerada. Os comandos "cat" logo a seguir
  # ecoam para a tela o conteúdo de três arquivos:
  # 1. head.inc: cabeçalho da página html
  # 2. $Display: o arquivo selecionado aleatoriamente
  # 3. rodape.inc: rodapé da página html
  
  echo "Content-type:text/html";
  echo
  
  cat $homedir/inc/head.inc
  
  cat $Display
  
  cat $homedir/inc/rodape.inc
  
  echo "</body></html>"

Este foi um exemplo muito simples, para finalidades didáticas. Este script pode ficar muito sofisticado, criando páginas html com css e qualquer outro recurso que estiver à mão.

Sabe fazer diferente ou melhor? Envie-nos suas idéias preenchendo o campo de comentário logo a seguir.

Veja a relação completa dos artigos da coluna Cantinho do Shell

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir
  • Currently 2.97/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (267 votos)


Para se manter atualizado sobre as novidades desta coluna, consulte sempre o newsfeed RSS

Cantinho do Shell NewsFeed RSS

Para saber mais sobre RSS, leia o artigo O Padrão RSS - A luz no fim do túnel.

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Bombando o Shell - Caixa de Ferramentas Gráficas do Shell Linux></A>
</div>
<div align=center>
<!--
<a href='http://www.idph.net/inglesonline/inscricao.shtml' target='_blank'><img src='http://www.dicas-l.com.br/imagens/InglesOnline.jpg' border='0' alt=''></a><BR><BR>-->
<A HREF=http://iol.idph.com.br rel=

 

 

Procure pela casa ou apartamento ideal à venda ou para aluguel na busca inteligente do Imohoo
Buscar imóveis