Shell : Problème pour mettre un résultat de cmd dans une var

Résolu
Faquarl -  
 Faquarl -
Bonjour,
Je suis en train de faire un script bash et je dois récupéré le résultat d'une commande. D'habitude cela marche bien en mettant la commande entre "'" mais là, ça bloque et je ne comprends pas pourquoi :/
Erreur:
./script.sh: ligne 151: : commande introuvable
./script.sh: ligne 152: : commande introuvable

 
name_band='gdalinfo $1 | \
sed -n 's/ //;s/GRIB_COMMENT=//p' | \
awk -F: '{xx[$1]++} !x[$1] {x[$1]=$1} xx[$1 ,$2]<2 {x[$1]=x[$1] FS $2}END{for (n in x)print n }'| \
sed -n 's/ /-/g;s/\%/percent/;y/[]/()/;s/^-//gp'' #ligne151
#ligne152

GetOutputName $1

Une idée?

2 réponses

  1. Utilisateur anonyme
     
    salut,

    Une idée ?
    oui,
    adopte une substitution de commande moderne !
    var=$(commande)

    nb:
    commande | sed | awk | sed
    c'est redondant :
    awk
    peut effectuer des substitutions de valeurs, à l'instar de
    sed
    , qui devient alors inutile.
    1
  2. Faquarl
     
    merci,
    je ne connais pas assez bien awk pour en faire ce que je veux du coup, je le mixe avec sed.
    Sinon, Je pense qu'un caractère spécial s'est glissé dans mon code, j'ai supprimé les deux lignes incriminée et ai réécrit mot pour mot et ça marche...
    0