我尝试将cURL的输出赋值给一个变量,如下所示:
#!/bin/sh
$IP=`curl automation.whatismyip.com/n09230945.asp`
echo $IP
sed s/IP/$IP/ nsupdate.txt | nsupdate
但是,当我运行该脚本时,会发生以下情况:
。/update.sh: 3:=我的ip地址:未找到
如何才能将输出正确地放入$IP
?
发布于 2012-01-05 12:30:46
在shell中,你不需要在你赋值的变量前面放一个$。只有在引用变量时才使用$IP。
#!/bin/bash
IP=$(curl automation.whatismyip.com/n09230945.asp)
echo "$IP"
sed "s/IP/$IP/" nsupdate.txt | nsupdate
发布于 2016-09-21 17:47:11
从实例中对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
https://stackoverflow.com/questions/8737638
复制相似问题