Pasar todos los argumentos en Bash
En las secuencias de comandos de Bash, usamos principalmente la sintaxis $1 $2 $3 ... $N
para pasar variables en la función. Aquí N
es el número entero no negativo como 1, 2, 3, ...
.
Pero hay una forma abreviada de hacer la misma tarea de pasar todos los argumentos. Este artículo discutirá cómo podemos pasar todos los argumentos en una función.
Además, veremos ejemplos necesarios con explicaciones para facilitar la comprensión del tema.
Pasar todos los argumentos en Bash
Para ello, utilizaremos $@
para pasar todos los argumentos. Veamos el siguiente código de ejemplo.
My_Friends () {
echo "Your friend's names are: "$@""
}
My_Friends Alen Walker John
En el ejemplo anterior, pasamos tres parámetros en una función llamada My_Friends
. Recibimos todas las funciones en la función usando $@
.
Ahora, cuando ejecute el ejemplo anterior, obtendrá un resultado como el siguiente.
Your friend's names are: Alen Walker John
Ahora, la forma tradicional de realizar la misma tarea es como la siguiente.
My_Friends () {
echo "Your friend's names are: $1 $2 $3"
}
My_Friends Alen Walker John
En el código anterior, incluimos todos los parámetros manualmente. Esto también proporcionará el mismo resultado que nuestro ejemplo anterior proporcionado.
Tenga en cuenta que si tiene que trabajar con todos los argumentos por separado, no hay forma de incluirlos manualmente. Por ejemplo, si va a realizar una operación de adición con todos los argumentos pasados como nuestro ejemplo a continuación, entonces no puede seguir este método abreviado.
Veamos nuestro siguiente ejemplo.
Add () {
echo The sum is: $(( $1+$2+$3 ))
}
Add 1 2 3
Como comentamos, debe mencionar todos los parámetros por separado en el ejemplo compartido recientemente. Esta salida del programa anterior es algo como lo siguiente.
The sum is: 6
Todos los códigos utilizados en este artículo están escritos en Bash. Solo funcionará en el entorno Linux Shell.
Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.
LinkedIn