如何在Shell中的多行中定义数组

时间:2017-09-10 01:52:37

标签: macos shell

是否可以在shell脚本文件中的多行中定义数组?我试过这样的事情:

foo.sh

#!/usr/bin/env bash

messages=(
    "Hello"
    "World"
)

echo $messages

但是,输出只有第一行" Hello",而不是第二行" Word"。

$ sh foo.sh
Hello

更令我困惑的是,如果我复制foo.sh的内容并将其直接粘贴到终端中,那么事情就像我预期的那样:

$ messages=(
    "Hello"
    "World"
)

echo $messages
Hello World

有人知道为什么吗?

1 个答案:

答案 0 :(得分:7)

如果要打印整个阵列,则需要:

echo ${messages[@]}