Я пытаюсь назначить вывод cURL в переменную следующим образом:
#!/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 вы не ставите $ перед назначаемой переменной. Вы используете только $ IP, когда обращаетесь к переменной.
источник
curl
? Добавление-silent
листьев$IP
пустыми ...curl
отправляет свой шумный вывод в stderr, поэтому в случае такого скрипта индикатор выполнения должен игнорироваться. Тем не менее,--silent
или-s
работает просто отлично. Если у вас есть проблемы, пожалуйста, задайте вопрос .curl -s
для отключения индикатора выполнения и сообщений об ошибках.stderr
:IP=$(curl <url> 2>/dev/null)
То же самое с чем-то более сложным ... получение области экземпляра ec2 из экземпляра.
источник
$
сos.system
, INSTANCE_REGION не имеет значения выхода.