Что здесь происходит?
content=$(curl -s http://localhost:3000 -I | grep -Fi Content-Type | awk '{print $2}')
echo "${content}1234"
res:
1234ication/x-protobuf
curl -I
ответ
HTTP/1.1 200 OK
X-Powered-By: Express
Content-Type: application/x-protobuf
Content-Encoding: gzip
Content-Length: 10013
Date: Tue, 14 Aug 2018 18:00:06 GMT
Connection: keep-alive
как видите, веб-сервер - это обычное экспресс-приложение, без промежуточного программного обеспечения, все шаблоны, ничего особенного
более того, проверка
if [ "$content" == "application/x-protobuf" ]
всегда ложно (я пробовал и другие варианты условия)
- Что такое бизнес с циклическим переопределением
- почему на экране не печатается контент?
echo $content | cat -v
, чтобы увидеть скрытые символы в вашей строке. - person ewindes   schedule 14.08.2018application/x-protobuf^M
откуда это взялось ?? - person Nick Ginanto   schedule 14.08.2018content
, заканчивающемуся возвратом каретки. - person chepner   schedule 14.08.2018awk '{sub(/\r$/,""); print $2}'
- person glenn jackman   schedule 14.08.2018tr -d '\r'
- person ewindes   schedule 14.08.2018[ foo == foo ]
не гарантированно будет истинным в оболочках POSIX сам по себе, потому что==
не является оператором сравнения строк, определенным POSIX. Используйте=
, чтобы быть надежным и портативным. - person Charles Duffy   schedule 14.08.2018