#!/bin/bash
VAR=("A B C" "D E F")
echo ${VAR[0]}
VAR=($(echo -e \"A B C\" \"D E F\"))
echo ${VAR[0]}
exit
produit :
A B C
"A
Je veux assigner à un tableau le résultat d'une fonction. Sauf que les éléments peuvent contenir des espaces, aussi j'essaie d'entourer chacun des éléments par des guillemets. Cela fonctionne en assignement direct, mais pas quand ça passe par une commande. Je voudrais réussir à utiliser les guillemets dans la commande "echo" pour pouvoir obtenir une assignation correcte de mon tableau.
# echo qui interprete les espaces
Posté par NeoX . Évalué à 2.
si tu remplaces pas
echo -e "ABC" "DEF" tu verras que ca marche bien
# IFS
Posté par gaaaaaAab . Évalué à 3.
Si tu contrôle le script qui génère ce que tu veux mettre dans ton tableau, tu peux jouer sur l'impôt sur la fort^w^w^w^w Input Field Separator :
$ export IFS="-"
$ VAR=($(echo A B C-D E F))
$ echo ${VAR[0]}
A B C
une autre méthode forcément moins satisfaisante, est de faire l'affectation des VAR[i] dans une boucle.
[^] # Re: IFS
Posté par gaaaaaAab . Évalué à 2.
--> []
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.