Is it possible to define an array in multiple lines in a shell script file? I tried something like this:
foo.sh
#!/usr/bin/env bash
messages=(
"Hello"
"World"
)
echo $messages
However, the output only has the first line "Hello", but not the second line "Word".
$ sh foo.sh
Hello
What is more confusing to me is that if I copy the content of foo.sh and paste it directly into the terminal, things work as I expected:
$ messages=(
"Hello"
"World"
)
echo $messages
Hello World
Anybody know why?
question from:
https://stackoverflow.com/questions/46136611/how-to-define-array-in-multiple-lines-in-shell 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…