我正在写一个bash脚本来发送一个动态启动的ec2实例的用户数据。脚本需要使用实例的ip,但在实例启动并运行脚本之前,我没有这个ip。所以这个脚本应该是这样的
"#!/bin/bash
curl -X POST .....blablabla.........
{
"serverIp": HERE I NEED THE CURRENT INSTANCE IP,
}'
我知道,做卷曲到 http:/127.0.0.1latestmeta-datapublic-ipv4。 你得到了ip,但考虑到其他因素,我不能用http调用本身。
有没有什么简单的方法可以从bash脚本中检索到ip?
插手呼唤呼唤来策动。
#!/bin/bash
curl -X POST .....blablabla.........
{
"serverIp": `curl -s http://169.254.169.254/latest/meta-data/public-ipv4`,
}'
用dig:
#!/bin/bash
serverIp=$(dig +time=1 +tries=1 +retry=1 +short myip.opendns.com @resolver1.opendns.com)
echo $serverIp