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.
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 29 de Maio de 1997
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 052797, onde 05 indica o mês de maio, 27 o dia do mês e 97 o dia do 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 caracter "<" 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.
Situation: Low Disk Space
TECHNICAL THUG: Writes a suite of scripts to monitor disk usage, maintain a database of historic disk usage, predict future disk usage via least squares regression analysis, identify users who are more than a standard deviation over the mean, and send mail to the offending parties. Places script in cron. Disk usage does not change, since disk-hogs, by nature, either ignore script-generated mail, or file it away in triplicate.
ADMINISTRATIVE FASCIST: Puts disk usage policy in motd. Uses disk quotas. Allows no exceptions, thus crippling development work. Locks accounts that go over quota.
MANIAC:
# cd /home # rm -rf ""du -s * | sort -rn | head -1 | awk '{print $2}'"";
IDIOT:
# cd /home # cat ""du -s * | sort -rn | head -1 | awk '{ printf "%s/*\n", $2}'"" | compress
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários