# Using variables during repository creation

**URL:** <https://discuss.elastic.co/t/using-variables-during-repository-creation/31737>\
**Category:** Elasticsearch\
**Created:** [October 6, 2015, 10:00pm UTC](https://discuss.elastic.co/t/using-variables-during-repository-creation/31737 "2015-10-06T22:00:53Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![vinod\_rao](https://avatars.discourse-cdn.com/v4/letter/v/3e96dc/32.png) [@vinod\_rao](https://discuss.elastic.co/u/vinod_rao)\
**Post date:** [October 6, 2015, 10:00pm UTC](https://discuss.elastic.co/t/using-variables-during-repository-creation/31737/1 "2015-10-06T22:00:53Z")

</div>

Hi Team,

Can we use variables in repository setting for location setting. I am defing below but its not working.  
$CURL -k -XPUT $DB\_HTTP/$SHARD\_DIR -d '{  
"type": "fs",  
"settings": {  
"compress": true,  
"location": "$BK\_LOC/$SHARD\_DIR"  
}  
}'

The variables are already declared during the script execution.

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [October 6, 2015, 10:09pm UTC](https://discuss.elastic.co/t/using-variables-during-repository-creation/31737/2 "2015-10-06T22:09:08Z")

</div>

How is it not working? Are you getting more errors?  
Have you tried using `set -x` to debug your script?

---

<div class="post-metadata">

**Author:** ![vinod\_rao](https://avatars.discourse-cdn.com/v4/letter/v/3e96dc/32.png) [@vinod\_rao](https://discuss.elastic.co/u/vinod_rao)\
**Post date:** [October 7, 2015, 12:56am UTC](https://discuss.elastic.co/t/using-variables-during-repository-creation/31737/3 "2015-10-07T00:56:57Z")

</div>

I am getting below when we run in debug mode:

Check the status of the repository  
17:53  
{  
"director" : {  
"type" : "fs",  
"settings" : {  
"compress" : "true",  
"location" : "$BK\_LOC/$SHARD\_DIR"  
}  
}  
}

in the locaton i am not getting path to store . Getting the variable as it is. How can we solve this.

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [October 7, 2015, 1:58am UTC](https://discuss.elastic.co/t/using-variables-during-repository-creation/31737/4 "2015-10-07T01:58:04Z")

</div>

Linking to your script would help.

---

<div class="post-metadata">

**Author:** ![vinod\_rao](https://avatars.discourse-cdn.com/v4/letter/v/3e96dc/32.png) [@vinod\_rao](https://discuss.elastic.co/u/vinod_rao)\
**Post date:** [October 7, 2015, 1:59am UTC](https://discuss.elastic.co/t/using-variables-during-repository-creation/31737/5 "2015-10-07T01:59:46Z")

</div>

Linking in the sense replacing $BK\_LOC/$SHARD\_DIR with acutal location ? or any other way we have ?

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [October 7, 2015, 2:03am UTC](https://discuss.elastic.co/t/using-variables-during-repository-creation/31737/6 "2015-10-07T02:03:22Z")

</div>

Show us your code.

---

<div class="post-metadata">

**Author:** ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)\
**Post date:** [October 7, 2015, 5:56am UTC](https://discuss.elastic.co/t/using-variables-during-repository-creation/31737/7 "2015-10-07T05:56:14Z")

</div>

The problem is that your string is single quoted, and shell script variables aren't expanded within single quoted strings. Make them double quoted instead, and remember to escape the double quotes in the JSON payload.

---

<div class="post-metadata">

**Author:** ![vinod\_rao](https://avatars.discourse-cdn.com/v4/letter/v/3e96dc/32.png) [@vinod\_rao](https://discuss.elastic.co/u/vinod_rao)\
**Post date:** [October 7, 2015, 10:45pm UTC](https://discuss.elastic.co/t/using-variables-during-repository-creation/31737/8 "2015-10-07T22:45:25Z")

</div>

Thank you magnusbaeck . Its working

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 5, 2017, 11:46pm UTC](https://discuss.elastic.co/t/using-variables-during-repository-creation/31737/9 "2017-07-05T23:46:03Z")

</div>


