Imprimir elementos de matriz en Bash
-
Use la declaración
echo
para imprimir elementos de matriz en Bash -
Use el bucle
for
para imprimir elementos de matriz en líneas separadas en Bash -
Use la palabra clave
historia
para imprimir elementos de matriz en líneas separadas en Bash -
Use la palabra clave
basename
para imprimir elementos de matriz en líneas separadas en Bash -
Use la palabra clave
shuf
para imprimir elementos de matriz en líneas separadas en Bash
Cuando trabaje con una matriz, es posible que necesite ver qué datos se almacenan en la matriz. En un script Bash, hay varios métodos que podemos usar para imprimir los elementos de la matriz.
Este artículo mostrará cómo podemos imprimir los elementos de la matriz en las secuencias de comandos de Bash. Vamos a discutir 5 métodos diferentes para este propósito.
Además, veremos ejemplos y explicaciones necesarias para facilitar el tema.
Use la declaración echo
para imprimir elementos de matriz en Bash
En este método, imprimiremos todos los elementos de una matriz usando la palabra clave echo
. Sin embargo, esta palabra clave imprimirá todos los elementos de la matriz en una sola línea.
Puede seguir el siguiente código de ejemplo para este propósito:
MyArray=('A' 'B' 'C' 'D' 'E')
echo "The array elements are: ${MyArray[@]}"
Después de ejecutar el script Bash anterior, obtendrá un resultado como el siguiente:
The array elements are: A B C D E
Use el bucle for
para imprimir elementos de matriz en líneas separadas en Bash
En el siguiente ejemplo, imprimiremos los elementos de una matriz usando un bucle. Puede usar cualquiera de los bucles que prefiera, pero usaremos el bucle for
en nuestro ejemplo.
El código de nuestro ejemplo se muestra a continuación:
MyArray=('A' 'B' 'C' 'D' 'E')
for item in "${MyArray[@]}"
do
echo "$item"
done
En el ejemplo anterior, puedes observar una parte del código que es ${MyArray[@]}
. Esto es para tomar todos los elementos de la matriz en un bucle.
Después de ejecutar el script Bash anterior, obtendrá un resultado como el siguiente:
A
B
C
D
E
Use la palabra clave historia
para imprimir elementos de matriz en líneas separadas en Bash
Nuestro próximo método usará la palabra clave historia
para imprimir los elementos de una matriz. Pero tenga en cuenta que este método puede fallar si algún elemento de la matriz contiene un !
.
En el siguiente ejemplo, utilizaremos la palabra clave historia
para imprimir los elementos de la matriz. El código de nuestro ejemplo se verá así:
MyArray=('A' 'B' 'C' 'D' 'E')
echo "The array elements are: "
history -p "${MyArray[@]}"
Después de ejecutar el script Bash anterior, obtendrá el siguiente resultado:
The array elements are:
A
B
C
D
E
Use la palabra clave basename
para imprimir elementos de matriz en líneas separadas en Bash
También podemos imprimir todos los elementos de una matriz utilizando la palabra clave basename
. Pero tenga en cuenta que este método puede fallar si algún elemento de la matriz contiene un !
.
En nuestro ejemplo a continuación, usaremos la palabra clave basename
para imprimir los elementos de la matriz. El código de nuestro ejemplo se muestra a continuación:
MyArray=('A' 'B' 'C' 'D' 'E')
echo "The array elements are: "
basename -a "${MyArray[@]}"
Después de ejecutar el script Bash anterior, obtendrá el siguiente resultado:
The array elements are:
A
B
C
D
E
Use la palabra clave shuf
para imprimir elementos de matriz en líneas separadas en Bash
Hay otra palabra clave incorporada en Bash que podemos usar con el mismo propósito de imprimir los elementos de la matriz, que es shuf
. Pero tenga en cuenta que es posible que este método no proporcione la salida en orden.
En nuestro ejemplo a continuación, usaremos la palabra clave shuf
para imprimir los elementos de la matriz. El código de nuestro ejemplo se verá así:
MyArray=('A' 'B' 'C' 'D' 'E')
echo "The array elements are: "
shuf -e "${MyArray[@]}"
Después de ejecutar el script Bash anterior, obtendrá el siguiente resultado:
The array elements are:
B
A
C
E
D
Puede elegir cualquiera de los métodos anteriores según sus necesidades.
Tenga en cuenta que todo el código utilizado en este artículo está escrito 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