[bash] Peut on importer des variables avec While IFS?
Bonjour à tous,
J'ai réussi à utiliser correctement la bouche While avec le paramètre $IFS pour découper un fichier ligne par ligne et récupérer diverses partie de chaque ligne dans une variable.
Par contre toutes variables indiquées dans le fichier à traiter sont prisent comme du texte au lieu d'une variable. En examinant le fonctionnement du script, les variables sont protégée par des '
Y a t'il une solution pour qu'elles ne soient pas protégée?
Voici un exemple raccourcis du script en question :
fichier test.sh
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| #!/bin/bash
set -x
#nom de code de version ubuntu (hardy, jaunty, karmic, ...)
codename="karmic"
#on découpe l'entrée standard et on affecte chaque portion de ligne à une variable
while IFS=',' read paquet depot cle option
do
#suppression des espaces et tabulation en début et fin de la portion de la ligne demandé via l'argument de fonction scanlist
depot=$(echo $depot | sed 's/^[ \t]*//;s/[ \t]*$//')
#sortie pour le test visuel
echo $depot
done < <(grep ^[+] proglist.txt) | sort -u # on trit le fichier en unique et l'injecte en entrée |
Fichier proglist.txt
Code:
1 2
| # Client de messagerie Empathy
+empathy, deb http://ppa.launchpad.net/telepathy/ppa/ubuntu $codename main #Empathy, FA3A1271, facultatif |
J'espère avoir fait au plus simple pour ne pas surcharger le sujet...