systemadmin.es » Script » Uso y proceso de variables en shell scripts

Uso y proceso de variables en shell scripts

Las variables en los shell scripts pueden ser tratadas sin usar cut, sed, awk… Vamos a ver unos ejemplos usando bash, pero funcionan igual en la mayoría de shells.

Suponiendo que la variable var tiene el siguiente contenido:

export var="ejemplo-prueba-systemadmin.es"

Podemos ver como tratarla como $var y como ${var} es lo mismo:

# echo $var
ejemplo-prueba-systemadmin.es
# echo ${var}
ejemplo-prueba-systemadmin.es

Pero en el caso que queramos añadir una cadena al final sin espacio deberemos usar ${var}, sino la shell no interpreta el nombre de la variable:

# echo ${var}lol
ejemplo-prueba-systemadmin.eslol
# echo $varlol

# echo $var lol
ejemplo-prueba-systemadmin.es lol

Mediante el uso de ${var:posición} podemos recordar una cadena (substring) desde una posición:

# echo ${var:8}
prueba-systemadmin.es

También podemos especificar un tamaño del bloque a cortar mediante ${var:posición:tamaño}

# echo ${var:8:6}
prueba

Mediante el uso de ${var#patrón} podemos recordar una cadena desde delante. Mediante la repetición de # indicamos que no se pare a primer substring que cumpla el patrón, sino que procese toda la cadena:

# echo ${var#*-}
prueba-systemadmin.es
# echo ${var##*-}
systemadmin.es

En el caso de querer recorrer la cadena desde detras hacia adelante deberemos usar % en lugar de #:

# echo ${var%-*}
ejemplo-prueba
# echo ${var%%-*}
ejemplo

También se pueden realizar substituciones sin usar sed mediante el uso de ${var/buscar/reemplazar}:

# echo ${var/-/.}
ejemplo.prueba-systemadmin.es

Repitiendo la barra se realiza la substitución de forma global:

# echo ${var//-/.}
ejemplo.prueba.systemadmin.es

Para realizar substituciones solo a principio o final de cadena también lo podremos hacer. Mediante # indicamos a principio de cadena:

# echo ${var/#e/X}
Xjemplo-prueba-systemadmin.es

Y con % indicamos fin de cadena:

# echo ${var/%s/X}
ejemplo-prueba-systemadmin.eX

Relacionados

Imprimir Imprimir

3 comments to “Uso y proceso de variables en shell scripts”

  1. Estupendo blog, continua así!

  2. Muy bueno el blog, muy útil la información

  3. Perfecto !

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>