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.