[BASH] résultat d'une commande dans une varia

Résolu
Bonjour,

J'essaye de mettre le résultat d'une commande dans une variable.

J'ai essayé:
TEST= exiftags -v DSCF2873.jpg | grep Generated | awk '{print $3}' | tr '\:' '\-'
TEST= "exiftags -v DSCF2873.jpg | grep Generated | awk '{print $3}' | tr '\:' '\-'"
TEST= $(exiftags -v DSCF2873.jpg | grep Generated | awk '{print $3}' | tr '\:' '\-')
TEST= $(exiftags -v DSCF2873.jpg | grep Generated | awk '{print $3}' | tr '\:' '\-' 2<&1)

Rien n'y fait ;-(

Si quelqu'un avait une idée.

D'avance merci

2 réponses

  1. Contributeur
    Salut,

    VAR="$(commande)"

    Sans espace autour du signe égale de part et d'autre.
    1. Merci, fonctionne impec :-D
  2. et en évitant de nommer ses variables en majuscules.
    Par convention, les noms en majuscules c'est pour les variables d'environnement : SHELL, PWD, etc

    si tu ajoutes un 'sed' à ton code, tu pourras être nominé aux récompenses du code le plus inutile ^^
    tout peut se faire dans un seul 'awk', sanas aller très loin.
    et c'est éventuellement pas 2<&1, mais 2>&1
    1. Ok, je repasse tous en minuscule.
      Je sais pas trop faire avec seulement awk :-( mais, je vais chercher....

      Oui, une recopie rapide au clavier pour 2<&1.
      Désolé