Когда я запускаю эту команду, она буквально отправляет $line
в Elasticsearch вместо строк file.txt
cat file.txt | while IFS= read -r line; do curl -d '{ "field" : "$line" }' -H "Content-Type: application/json" -POST "http://localhost:9200/indexname/doc"; done;
file.txt, состоящего из:
This is line one.
This is line two.
This is line three.
Это Elasticsearch 7.2 на Centos 7.
Я пытался экранировать $line
, как в \$line
и ($line)
или "$line"
, но он выставляет фактическое значение \$line
и ($line)
или "$line"
Ожидаемые данные для помещения в Elasticsearch:
{ "field" : "This is line one." }
{ "field" : "This is line two." }
{ "field" : "This is line three." }
фактические данные, помещенные в Elasticsearch
{ "field" : "$line" }