It’s simple, really, but I rarely use bash so I’m always a little lost when I try to do something not absolutely trivial in it…
I’ll just put my script here and explain below:
images=("pic 1.jpg" \ "pic 2.jpg" \ "pic 3.jpg") for i in "${images[@]}" do echo $i node ../path/to/myscript.js --source "$i" done
What it does is:
– define an array: myArray = ( elem1 elem2 )
– use multiple lines. To do so: when you split your command over multiple lines, end each non-end line with “\” to indicate continuation on the next line
– then iterate over it, echoing each element and running a command (with quotes because the elements of my array contain spaces)
This (very recent) source was helpful: Bash For Loop Array: Iterate Through Array Values
0 Responses
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.