GNU/Linux >> Tutoriales Linux >  >> Linux

Linux bash:Asignación de múltiples variables

A veces tienes que hacer algo funky. Digamos que desea leer desde un comando (el ejemplo de fecha de SDGuero, por ejemplo) pero desea evitar múltiples bifurcaciones.

read month day year << DATE_COMMAND
 $(date "+%m %d %Y")
DATE_COMMAND
echo $month $day $year

También podría canalizar el comando de lectura, pero luego tendría que usar las variables dentro de una subcapa:

day=n/a; month=n/a; year=n/a
date "+%d %m %Y" | { read day month year ; echo $day $month $year; }
echo $day $month $year

da como resultado...

13 08 2013
n/a n/a n/a

Lo primero que se me ocurre:

read -r a b c <<<$(echo 1 2 3) ; echo "$a|$b|$c"

la salida es, como era de esperar

1|2|3

Quería asignar los valores a una matriz. Entonces, ampliando el enfoque de Michael Krelin, hice lo siguiente:

read a[{1..3}] <<< $(echo 2 4 6); echo "${a[1]}|${a[2]}|${a[3]}"

que produce:

2|4|6 

como se esperaba.


Creo que esto podría ayudar...

Para desglosar las fechas ingresadas por el usuario (mm/dd/aaaa) en mis scripts, almaceno el día, el mes y el año en una matriz y luego coloco los valores en variables separadas de la siguiente manera:

DATE_ARRAY=(`echo $2 | sed -e 's/\// /g'`)
MONTH=(`echo ${DATE_ARRAY[0]}`)
DAY=(`echo ${DATE_ARRAY[1]}`)
YEAR=(`echo ${DATE_ARRAY[2]}`)

Linux
  1. Bash secuencias de comandos (I)

  2. ¿Cómo pruebo si una variable es un número en Bash?

  3. Leer línea por línea en bash script

  4. Comprobar si existe una variable en una lista en Bash

  5. Linux Bash Script, ¿comando único pero varias líneas?

Variable de exportación de bash

16 ejemplos de comandos de eco en Linux

Variables de entorno de Linux:cómo leer y configurar en un VPS de Linux

Comando de lectura Bash

Comando Bash Echo explicado con ejemplos en Linux

Cómo usar el comando echo en Bash Scripts en Linux