En el script bash podemos leer algunas variables de matriz de la misma línea
¿Cómo puedo usar -a
& -p
al mismo tiempo en el comando de lectura?
Yo he tratado:
read -ap 'vi:' var_1
read -pa 'vi:' var_1
read -a -p 'v1:' var_1
read -p -a 'v1:' var_1
Ninguno de los cuales está funcionando. ¿Hay otras opciones?
Respuesta1
Puede agregar cadenas de entrada a una matriz con un bucle.
#!/bin/bash
array=()
while true; do
read -rp "vi: " input
[[ -z $input ]] && break || array+=("$input")
done
echo "${array[@]}"
Respuesta2
Su método funciona bash
con una pequeña modificación:
Borrar la variable
$ unset asdf
Pon la opción -a
después de la opción.-p 'string'
$ read -p 'enter 4 items separated by space ' -a asdf
enter 4 items separated by space 1 2 3 4
Comprueba el resultado
$ echo ${asdf[@]}
1 2 3 4
$ echo ${asdf[3]}
4
$ echo ${asdf[0]}
1