je peux courir cette fin de commande, avec la sortie que je veux:question de script Bash
ifconfig eth0 | grep HWaddr | awk '{print $5}'
Cependant, quand je mets la commande à une variable, et imprimer la variable, je reçois une erreur:
CASS_INTERNAL=`ifconfig eth0 | grep HWaddr | awk '{print \$5}'`
$CASS_INTERNAL
my internal xxx ip: command not found
étrange chose - mon IP interne montre réellement. Comment puis-je m'y prendre sans erreur? Cela ne devrait pas avoir d'importance, mais j'utilise la dernière version d'Ubuntu.
En utilisant dos guillemets (par exemple ') entourant la commande l'exécute réellement. Vous exécutez donc la commande sur la première ligne et stockez le résultat dans CASS_INTERNAL. Comme le dit Wikken, vous voulez simplement retourner le résultat en utilisant "echo". Une alternative serait de stocker le texte de la commande dans CASS_INTERNAL (en utilisant des guillemets doubles - et non des backquotes) et de l'exécuter en utilisant simplement $ CASS_INTERNAL. Dans votre exemple, vous l'exécutez en utilisant des guillemets sur la première ligne et de nouveau sur la deuxième ligne en utilisant $ CASS_INTERNAL. – xagyg