user99201 Asked: 2018-10-31 06:57:35 +0800 CST2018-10-31 06:57:35 +0800 CST 2018-10-31 06:57:35 +0800 CST Bash 中数组表示法的差异 772 这两个数组表示法有什么区别? "${aws_user_roles[@]}" "${aws_user_roles[*]}" bash 1 个回答 Voted Best Answer oliv 2018-10-31T07:08:19+08:002018-10-31T07:08:19+08:00 如中所述man bash 如果下标是 @ 或 *,则单词将扩展到 name 的所有成员。只有当单词出现在双引号中时,这些下标才会有所不同。如果单词是双引号,则${name[*]}扩展为单个单词,其中每个数组成员的值由 IFS 特殊变量的第一个字符分隔,并将name 的每个元素${name[@]}扩展为单独的单词。 例子: aws_user_roles=( a "b c" d ) for i in "${aws_user_roles[*]}"; do echo $i; done a b c d for i in "${aws_user_roles[@]}"; do echo $i; done a b c d
如中所述
man bash
例子: