将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