arrays – bash在不同的行上打印数组元素

前端之家收集整理的这篇文章主要介绍了arrays – bash在不同的行上打印数组元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在不同的行上打印Bash数组的数组元素?这一个工作,但肯定有一个更好的方法
$ my_array=(one two three)
$ for i in ${my_array[@]}; do echo $i; done
one
two
three

尝试这一个,但它没有工作:

$ IFS=$'\n' echo ${my_array[*]}
one two three
尝试这样做:
$ printf '%s\n' "${my_array[@]}"

$ @和$ *之间的区别:

>未命名,结果未指定。在Bash中,都扩展为单独的args
然后是wordsplit和globbed。
>引用,“$ @”将每个元素扩展为单独的参数,而“$ *”
展开为args合并为一个参数:“$ 1c $ 2c …”(其中c是
IFS的第一个字符)。

你几乎总是想要“$ @”。同样适用于“$ {arr [@]}”。

总是报价!

原文链接:https://www.f2er.com/bash/392363.html

猜你在找的Bash相关文章