Estou tentando escrever um script para executar uma série de comandos de curl. O comando que estou tentando executar é o seguinte:
curl -XPUT $URL'/test/' -d @$DATA_DIR/index-settings.json
Este é o meu script bash
#!/bin/bash
set -e
DATA_DIR="/usr/local/es"
URL="http://localhost:9200"
curl -XPUT $URL'/test/' -d @$DATA_DIR/index-settings.json
Confirmei que o comando funciona se eu o executar manualmente assim:
curl -XPUT 'http://localhost:9200/test/' -d @/usr/local/es/index-settings.json
O problema é do $ DATA_DIR. Quando executo o script bash com a variável $ DATA_DIR, recebo este erro:
Warning: Couldn't read data from file
Warning: "/usr/local/es/index-settings.json", this makes
Warning: an empty POST.
É possível usar uma variável dentro de um comando curl que use argumentos -d @?
Tags bash curl bash-scripting