Скручивание нажатием Enter или Ctrl + C, чтобы получить правильный ответ

Это скрипт, который проверяет мой текущий ip на этом сайте: http://myip.dnsdynamic.org/ выбирает ответ и вызывает API для обновления моего динамического ip.

Вот сценарий:

curl --user <myusername>:<mypasswd> https://www.dnsdynamic.org/api/?hostname=eventsonmap.ssh22.com&myip=`curl http://myip.dnsdynamic.org/`

Когда я запускаю его, все в порядке, но команда останавливается и не возвращается нормально, она работает, только если в конце я нажимаю ENTER или же ctrl+c что я делаю не так? Я пропускаю парам?

Этот скрипт - cronjob, который запускает каждый минит, поэтому я не могу нажать ENTER

Больше информации

Здесь на pastebin полный результат curl -v <same> вот последние 2 строки:

* Closing connection 0
* SSLv3, TLS alert, Client hello (1):

и блоки здесь...

1 ответ

Решение

Некоторые из символов в вашей команде являются метасимволами оболочки. Вы эффективно запускаете одну задачу в фоновом режиме.

Вы должны процитировать свою команду. Я переупорядочил команду, так как это ужасно.

myip=$(curl "http://myip.dnsdynamic.org/")
curl --user <myusername>:<mypasswd> "https://www.dnsdynamic.org/api/?hostname=eventsonmap.ssh22.com&myip=${myip}"`
Другие вопросы по тегам