Shell : Problème pour mettre un résultat de cmd dans une var
Résolu
Faquarl
-
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
Une idée?
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
-
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 desed
, qui devient alors inutile. -
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...