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

 

 

Atribuição de Valores a Variáveis em Shell Scripts

Por Rubens Queiroz de Almeida

Data de Publicação: 15 de Dezembro de 2006

Variáveis são sequências de letras, digitos ou underscores, começando com uma letra ou underscore "_".

A atribuição de valor a uma variável irá depender da shell sendo utilizada. Na Bourne shell e compatíveis (sh), atribui-se o valor a uma variável da seguinte forma:

  DATE=6jun60

À variável DATE foi atribuído o valor 6jun60.

Outra característica extremamente útil é atribuir o valor de comandos a variáveis. Por exemplo, suponhamos que queiramos que a variável DATE assuma o valor da data corrente, no formato mmddyy:

  DATE=`date +%m%d%y`

O comando date, como especificado acima, irá retornar o valor 052706, onde 05 indica o mês de maio, 27 o dia do mês e 06 o ano.

Importante notar as aspas invertidas "`". Ao se delimitar um comando por aspas invertidas você está indicando que está interessado no resultado do comando, que por sua vez será atribuído à variável.

Por exemplo, se desejassemos enviar uma mensagem a todos os usuários de determinado computador:

  #!/bin/sh
  
  for user in `awk -F: '{print $1}' /etc/passwd`
  do
  	mail -s "Aviso Importante" $user < mensagem.importante
  	echo $user
  done 

O shell script acima, irá obter, com o auxílio do programa awk, uma listagem de todos os usuários da máquina, enviando em seguida uma mensagem a todos eles.

À variável $user serão atribuídos tantos valores quantos os retornados pelo comando

  awk -F: '{print $1}' /etc/passwd

Observar que, no shell script, o comando está delimitado por aspas invertidas (`).

Como os campos no arquivo /etc/passwd são delimitados por ":", faz-se necessário a especificação da diretiva -F: para que o comando awk possa selecionar corretamente a identificação do usuário ($1, ou o primeiro campo).

Na linha onde se envia a mensagem o caractere < indica que a mensagem a ser enviada encontra-se dentro do arquivo mensagem.importante. O título da mensagem é informado através da diretiva -s seguida pelo valor Aviso Importante.

O comando echo $user é apenas informativo e serve para monitorar o progresso da execução do comando.

Esta dica foi publicada originalmente na Dicas-L em 29 de maio de 1997

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.98/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (293 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