Tanto en los scrips en Bash como en sus funciones, los parámetros nos ofrece la posibilidad de interactuar con ellos, pudiéndole enviar datos para que los procese o que el script actúe de una determinada manera según los parámetros enviados. Veamos cómo trabajar con ellos y cómo sacarles partido.
Trabajar con un parámetro concreto
 
 Los parámetros se almacenan automáticamente en orden con un dólar delante del número que ocupan la posición que ocupan, empezando por 1, no por 0. Es decir, el primer parámetro de la función / script será $1; el segundo, $2... y así sucesivamente. 
 
 $0 se reserva para el nombre del script. 
 
 Ojo, en una función $0 es el nombre del script, pero $1 es el primer parámetro de la función, no del script. 
 
 #!/bin/bash 
function saludo()
{ 
     	echo "Soy una función que se llama $0 y saluda: Hola, "$1 
}
textosaludo=$(saludo Pepe)
echo $textosaludo
 Si no le pasamos parámetros, devuelve:
 
 ./funcionquesaluda.sh 
Soy una función que se llama ./funcionquesaluda.sh y saluda: Hola, Pepe
 Y si le pasamos parámetros, devuelve lo mismo:
 
 ./funcionquesaluda.sh Manolo
Soy una función que se llama ./funcionquesaluda.sh y saluda: Hola, Pepe
Trabajar con todos los parámetros
Si queremos conocer todos los parámetros, usaremos $* y para saber el número de parámetros, $#.
 
 Así pues, el script:
 
 #!/bin/bash 
function saludo()
{ 
     	echo "Soy una función que se llama" $0 "y saluda: Hola, "$1
     	echo "He recibido "$# " parámetros, que son: "$*
}
textosaludo=$(saludo Pepe María Juan Marcos Manolo Marta)
echo $textosaludo
 Devuelve:
 
 ./funcionquesaluda.sh Manolo 
Soy una función que se llama ./funcionquesaluda.sh y saluda: Hola, Pepe He recibido 6 parámetros, que son: Pepe María Juan Marcos Manolo Marta
 Y aquí vemos un nuevo concepto. Al escribir varios echo en una función, concatena las cadenas. Si quisiéramos que no lo hiciera, añadiríamos un retorno de carro:
 
 #!/bin/bash 
function saludo()
{ 
     	echo "Soy una función que se llama" $0 "y saluda: Hola, "$1
     	echo -e "\r"
     	echo "He recibido "$# " parámetros, que son: "$*
}
textosaludo=$(saludo Pepe María Juan Marcos Manolo Marta)
echo $textosaludo
 Nos devolvería:
 
 ./funcionquesaluda.sh Manolo
 He recibido 6 parámetros, que son: Pepe María Juan Marcos Manolo Marta 
				
			
			

