将CURL输出分配给Bash中的variables

我试图将cURL的输出分配给一个variables,如下所示:

#!/bin/sh $IP=`curl automation.whatismyip.com/n09230945.asp` echo $IP sed s/IP/$IP/ nsupdate.txt | nsupdate 

但是,当我运行脚本时,会发生以下情况:

 ./update.sh: 3: =[my ip address]: not found 

我怎样才能得到正确的输出到$IP

在shell中,你不要把一个$放在你正在分配的variables的前面。 当您引用variables时,您只使用$ IP。

 #!/bin/bash IP=$(curl automation.whatismyip.com/n09230945.asp) echo "$IP" sed "s/IP/$IP/" nsupdate.txt | nsupdate 

与更复杂的东西一样…从实例中获取ec2实例区域。

 INSTANCE_REGION=$(curl -s 'http://169.254.169.254/latest/dynamic/instance-identity/document' | python -c "import sys, json; print json.load(sys.stdin)['region']") echo $INSTANCE_REGION