Remplir une variable bash de valeurs séparées par un espace

Bonjour,

J’ai une page web qui me retourne des valeurs. Pour traiter/récupérer les valeurs j’utilise le code bash suivant :

Script Bash :

VAL="${VAL#*Liste=}"
VAL="${VAL%% *}"
VAL="$(echo "${VAL}" | head -n 1)"

Page Web

Liste=valeur1 valeur2 valeur3 valeurX

Le problème est que cela me retourne uniquement la valeur1 et non pas le reste. Comment faire pour prendre en compte toutes les valeurs ?

Merci.

Salut,

Protéger les espaces par \ :slightly_smiling:

Ou jouer avec la variable IFS dont le man de bash mentionne cela :

Le séparateur de champs interne (« Internal  Field  Separator »)
qui  est  utilisé pour le découpage en mots après les développe‐
ments et pour découper les  lignes  en  mots  avec  la  commande
interne  read.  La valeur par défaut est « <espace><tab><change‐
ment de ligne> ».

LeDub qui préfère l’IFS à l’ISF !