Linguagem Shell !
Espero conseguir postar todos os artigos relacionados ao ranking de linguagens de programação. Agora começaremos a ver um pouco sobre essa nova linguagem, ficando em 11º colocação temos a linguagem Shell ou Shell Script.
Essa linguagem é uma linguagem script, podendo ser utilizada em vários sistemas operacionais. Grande parte dos programadores ao começarem a utilizar essa linguagem acham fácil de aprendizado. "O primeiro passo é, saber o que se deseja fazer, então ver qual o código que executa este comando em shell e aí criar, basta escrever o código em algum editor de texto e salvar". Ler mais em: https://pt.wikipedia.org/wiki/Shell_script
Apenas para introduzir mais no assunto, você precisa saber o que shell antes de saber script (caso não saber). no shell podemos usa-lo com diversos comandos uns seguidos do outro, também podendo ser na mesma linha. Se nós fizermos diversas linhas de comandos em um texto simples teremos o Shell Script, sendo que script é uma descrição de qualquer programa escrito em linguagem interpretada, não compilada. Uma vez criado, poderá ser utilizado várias vezes.
Características:
Essa linguagem possui estruturas em seu código como:
Caso interessado em saber mais sobre isso, neste site apresenta uma introdução completa: https://loc4n.wordpress.com/2013/02/23/scriptando-com-shell-script/
- estruturas de decisão (if)
- estruturas de repetição (for)(while)
- funções e argumentos
- definições de variáveis e escopo destas.
Exemplo:
#!/bin/bash # Função em Bash para retornar a data anterior, levando em conta o mês e ano. fn_data_anterior() { DIA=$D MES=$M ANO=$A # Dado DIA, MES e ANO numéricos, obtém a data do dia anterior DIA=`expr $DIA - 1` if [ $DIA -eq 0 ]; then MES=`expr $MES - 1` if [ $MES -eq 0 ]; then MES=12 ANO=`expr $ANO - 1` fi DIA=`cal $MES $ANO` DIA=`echo $DIA | awk '{ print $NF }'` fi } ano=`date +%Y`; mes=`date +%m`; let dia=10\#`date +%d`; if (( $dia<10 )); then j=0$dia; else j=$dia; fi dia=$j; j=""; D=$dia M=$mes A=$ano fn_data_anterior echo $DIA $MES
P.s. TecnoGeek #25
Nenhum comentário:
Postar um comentário