URL не заключен в кавычки и содержит амперсанд (&
);поэтому оболочка читает эту строку как:
curl -D $HEADERS_FILE_NAME -o $FILE --fail http://:7001/articles?indexingInfoId=4 </code><b>&</b><code> format=xml 2>/dev/null
и, таким образом, запускает curl
в фоновом режиме. Поскольку format=xml 2>/dev/null
является допустимой командной строкой, вы не получите от нее ошибки.
См.
Справочное руководство Bash § Цитирование и,
Справочник BashРуководство § Списки
для получения дополнительной информации.
А вот рабочая, безопасная версия вашего скрипта с правильной цитатой:
HEADERS_FILE_NAME='headers.txt'
FILE='body.xml'
echo 'start getting'
curl -D "$HEADERS_FILE_NAME" -o "$FILE" --fail 'http://<SOMEURLHERE>:7001/articles?indexingInfoId=4&format=xml' 2>/dev/null
echo 'end getting'