J'essaie d'assigner la sortie de cURL dans une variable comme ceci :
#!/bin/sh
$IP=`curl automation.whatismyip.com/n09230945.asp`
echo $IP
sed s/IP/$IP/ nsupdate.txt | nsupdate
Cependant, lorsque j'exécute le script, il se produit ce qui suit :
./update.sh: 3: =[my ip address]: not found
Comment puis-je obtenir la sortie dans $IP
correctement ?
0 votes
La réponse acceptée est correcte, mais il y a une autre distinction mineure entre cet exemple et celui que nous avons ici : si la variable $IP passée à echo n'est pas entourée de guillemets, elle ne produira que la dernière ligne de la sortie curl capturée.
0 votes
Merci @ChristopherHunter, je suis venu ici justement pour chercher ça. Mais pourquoi se comporte-t-il de la sorte ?
1 votes
@Amey Je ne peux pas dire exactement quel était le raisonnement, juste que c'est la façon dont echo se comporte lorsque vous lui donnez une chaîne de plusieurs lignes comme argument.