用于在弹性搜索中绘制映射的Bash命令

时间:2016-07-07 14:24:37

标签: bash shell elasticsearch

我有以下命令用于绘制弹性搜索的映射:

#!/bin/bash
curl -XPOST $1:9200/$2/$3/_mapping -d '{
    $3: {
                "properties": {
                   "geometry": {
                      "properties": {
                         "coordinates": {
                            "type": "double"
                         },
                         "type": {
                            "type": "string"
                         }
                      }
                   },
                   "type": {
                      "type": "string"
                   },
                   "properties": {
                      "properties": {
                         "Description": {
                            "type": "string"
                         },
                         "Name": {
                            "type": "string",
                            "index":"not_analyzed"
                         }
                      }
                   }
                }
    }
}'

但是'$ 3:{'在第三行,它给出3美元而不是用户输入。

现在我该怎样才能动态地给出这个值。

1 个答案:

答案 0 :(得分:0)

单引号bash扩展确实如此。关闭单引号,使用$ 3并重新打开单引号。

   curl -XPOST $1:9200/$2/$3/_mapping -d '{
       "'$3'": {
            "properties": {
               "geometry": {