I have a bash script that builds a dictionary kind of structure for multiple iterations as shown below:
{ "a":"b", "c":"d", "e":"f"}
{ "a1":"b1", "c1":"d1", "e1":"f1", "g1":"h1" }
I have appended all of them to an array in shell script and they are to be fed as an input to python script and I want the above data to be parsed as list of dictionaries.
I tried some thing like this and it didn't work.
var=({ "a":"b", "c":"d", "e":"f"} { "a1":"b1", "c1":"d1", "e1":"f1", "g1":"h1" })
function plot_graph {
RESULT="$1" python - <<END
from __future__ import print_function
import pygal
import os
import sys
def main():
result = os.getenv('RESULT')
print(result)
if __name__ == "__main__":
main()
END
}
plot_graph ${var[@]}
Arguments are being split and they are not being treated as a single variable.
Out of result will be :[ {"a":"b", ]
where as I want the entire var value to be read as a string and then I can split it into multiple dictionaries.
Please help me get over this.