Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash中JSON中的随机字符串_Json_Bash_Shell_Random - Fatal编程技术网

Bash中JSON中的随机字符串

Bash中JSON中的随机字符串,json,bash,shell,random,Json,Bash,Shell,Random,我想在Bash脚本中的JSON中插入一个随机字符串,我正在使用它发送Elasticsearch API中的批量od文档: SECONDS=0; for i in {0..1000} do echo "Number: $i \n" curl --location --request POST 'localhost:9000/_bulk' \ --header 'Content-Type: application/json' \ --data-raw '{"index

我想在Bash脚本中的JSON中插入一个随机字符串,我正在使用它发送Elasticsearch API中的批量od文档:

SECONDS=0;
for i in {0..1000}
do
echo "Number: $i \n"

curl --location --request POST 'localhost:9000/_bulk' \
--header 'Content-Type: application/json' \
--data-raw '{"index": {"_index": "yotam-les", "_type": "_doc", "_id": "A975463f711"}}
{"Amount": "3", "Quantity": "2", "Id": "A975463f711", "Client_Store_sk": "1109"}
{"index": {"_index": "yotam-les", "_type": "_doc", "_id": "975463943"}}
{"Amount": "7", "Quantity": "2", "Id": "975463943", "Client_Store_sk": "1109"}

'

done
echo "\n took " $SECONDS "seconds"
exit 0
例如,在这个bash脚本中,我想做如下操作

“\u id”:”

其中“_id”:“A975463f711”本部分为。 当然,我希望每次迭代都能随机生成ID本身

为了创建随机字符串,我知道我可以这样做:

chars=abcd1234ABCD
echo -n "${chars:RANDOM%${#chars}:1}"
但是如何将其注入JSON中呢

更清楚地说,我的问题是当我尝试这样做时:

“_id”:“${chars:RANDOM%${#chars}:1}”

由于--data raw'…'-它只能包含原始字符串

谢谢你的帮助

但是如何将其注入JSON中呢

您在
'..
单引号中。我们也要这样做:

  • 结束单引号
  • 打开双引号
  • 注射它
  • 结束双引号
  • 打开单引号

  • 你对其中哪一部分有困难?您需要知道如何生成随机字符串吗?或者如何将该字符串插入到JSON文档中?在检查之前是否已经问过一个问题后,一次只问一个问题。例如,如何在bash中批量生成随机字符串在…中给出,并告诉您如何将新数据插入JSON。因此,一个好的起点是尝试将这两个问题的答案结合起来,然后询问您在该实现中遇到的具体问题,如果您遇到任何问题,可能会达到bash不是最简单也不是最清晰的地步。例如,与您的示例一样,使用php几乎可以直接工作。只有当您知道随机字符串可以包含哪些字符,并且这些字符中没有一个需要引用才能在JSON中有效时,这才是正确的。这很有帮助,但问题是,每次迭代,我将拥有在外部创建的相同随机字符串,而不仅仅是在我的范围内生成的随机变量。但是我仍然可以使用它,同时使用“I”迭代器谢谢!
    var=$RANDOM$RANDOM$RANDOM$RANDOM # ie. random string
    curl .... \
    --data-raw '{"index": {"_index": "yotam-les", "_type": "_doc", "_id": "'"$var"'"}}
    #          ^                                                           ^^^^^^^^
    {"Amount": "3", "Quantity": "2", "Id": "A975463f711", "Client_Store_sk": "1109"}
    {"index": {"_index": "yotam-les", "_type": "_doc", "_id": "975463943"}}
    {"Amount": "7", "Quantity": "2", "Id": "975463943", "Client_Store_sk": "1109"}
    '