bash

Comentarios en Bash

Posted on

Para hacer comentarios en bash se pueden ocupar varias formas:

  • Usando el símbolo de número: #

#!/bin/bash
# Una simple línea de texto
# Ismael - 19/10/2017

La primer línea se le llama “shebang” o “bang”, esta línea indica la ruta del interprete de comando para poder leer el script y lograr la ejecución (Le dice analiza el siguiente script que no tenga el símbolo de # usando interprete bash shell).

Las siguientes dos líneas indican comentarios del script, estos comentarios sirven para el correcto entendimiento de los Sys Admin o persona futura encargada del mantenimiento del código, támbien sirve para que el interprete ignore por completo las líneas.

  • Ignorando multiples líneas (here document)

En programación existe una técnica para la impresión o salida de cadenas llamado “here document” o “heredoc” y se trata de escribir una extensa cadena en un script, lo podemos usar en textos estaticos y no abusar de ellos. Este tipo de técnica lo podemos encontrar en diferente lenguajes de programación como Ruby, PHP, C, etc. Para usar here document en bash basta con generar un identificador o palabra para abrir y cerrar el segmento de las cadenas a comentar, se hace de la siguiente manera:

script en bash <<IDENTIFICADOR
escribiendo lo que se me antoje
hola
t
$varName
IDENTIFICADOR

 

Todo lo que siga después de  estos símbolos << lo que escriba será ignorado por completo.

 

 

Extraer caracteres en bash

Posted on Actualizado enn

Con la instrucción:

var=”Ismael Garcia”

echo ${var:0:6}

Esto imprimirá: Ismael, le estoy diciendo que a partir de la posición 0 haga el recorrido y tome en cuenta 6 posiciones o caracteres y que lo muestre.

A continuación coloco un script para ejemplificar la explicación dada anteriormente:

#! /bin/bash

dias=-7
startdays=0
finishdays=6
declare -a amonths
for((k=startdays; $k<=$finishdays; k++))
do
fecha=$(date +”%d%m%y” -d “$dias days”)
dias=$(($dias+1))
checkmonth=${fecha:2:2}
amonths[$k]=$checkmonth
done

 

Lo que hace este script es guardar en un array(amonths) los números de meses de 7 días hacia atrás a partir de la fecha actual, es decir, hoy es 27/04/2017 recorrerá a partir del 20/04/2017 hacia la fecha actual y guardara en el amonths={04 04 04 04 04 04 04}.

script en github