InicioLinuxProgramando en Bash - parte 3

Programando en Bash - parte 3

Linux•10/16/2012

Para afianzar nuestros conceptos aprenderemos 2 herramientas muy útiles para programar y que se desenvuelven perfectamente en Bash. Aprender a crear funciones y definir tuberías puede parecer complejo al principio, pero luego veremos la inmensa utilidad que nos proveen.

Tuberías (pipes)

Concretamente y sin dar muchas vueltas, una tubería es un método que permite dirigir la salida de un proceso como la entrada de otro, lo cual permite una serie de ventajas, como reducir las líneas de código, prescindir de variables de almacenamiento de resultados y mejorar la eficiencia del script.

Una tubería se reconoce generalmente por poseer el símbolo | que permite concatenar expresiones; si bien es usada por defecto, existen otras formas de crear tuberías.

Ejemplo: imprimir mensajes recientes del kernel


#dmesg permite ver los mensajes recientes del kernel y drivers cargados 
#durante el booteo del sistema; tail imprime las últimas partes de un archivo o #comando

dmesg | tail



Si bien se pueden complicar tanto como queramos, la estructura básica de una tubería permite que el resultado de un comando sea usado como entrada del siguiente, el cual puede proveer la entrada de un nuevo comando si seguimos agregando tuberías consecutivas.

Funciones


Las funciones son un conjunto de sentencias que se agrupan para poder ser ejecutadas varias veces sin tener q volver a escribirlas. Es equivalente a pensar que cuando aprendemos a cocinar un tipo de comida escribiremos su receta en una hoja, y cada vez que deseamos cocinar esa comida consultamos la receta en lugar de volver a escribir una nueva hoja con la misma receta.

Quizás lo más importante de las funciones es la posibilidad de pasarle parámetros, datos que estas usarán para procesarlos y generar una salida. Su estructura es la siguiente:



function nombre-de-la-función {

 procesos

}



Ejemplo: función que muestra los servicios que funcionan sobre el protocolo tcp. También podemos ver cómo aplicar más tuberías.



#Definimos un nombre de función, puede ser el que nos guste.

function servicios_tcp {

#cat concatena y muestra el contenido de la carpeta /etc/services, que es la #que contiene todos los servicios con sus puertos asociados.

#el primer grep toma la lista y elimina los comentarios, con –v invertimos el resultado

#el segundo grep muestra solo los relacionados a tcp

 cat /etc/services | grep –v “^#” | grep tcp

}



Cuando necesitemos ejectuar esta función solo tenemos que llarmarla por su nombre:



servicios_tcp



En este caso funciona sin parámetros; en el caso de que los tenga debemos agregarlos para que la función trabaje adecuadamente, caso contrario la función no funcionará adecuadamente. El uso de return permite a una función devolver un valor como resultado del proceso.

Ejemplo: función con parámetros de entrada que calcula la suma de 2 números.



#!/bin/bash
function suma()
{
 #con let podemos ejecutar la operación dentro de las comillas
 let "resultado=$1 + $2"

 #return permite devolver el valor entero. Una vez ejecutado el return, el valor quedará depositado dentro de la variable $?
 return $resultado;
}
 
#se llama a la función suma y pasamos 2 parámetros de entrada.

suma 2 3

#se imprime el valor de $? con echo evaluando el valor real de la variable entre comillas
echo -e "Resultado = $?";




Fuente



Datos archivados del Taringa! original
40puntos
0visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
9visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

k
krc_4u🇦🇷
Usuario
Puntos0
Posts14
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.