如何将行从标准输入读入数组,然后将数组与其自身连接起来?
我的代码是:
countries=()
while read -r country; do
countries+=( "$country" )
done
countries=countries+countries+countries # this is the wrong way, i want to know the right way to do it
echo "${countries[@]}"
注意,我可以像下面的代码一样打印三次,但这不是我的座右铭,我必须在数组中连接它们。
countries=()
while read -r country; do
countries+=( "$country" )
done
echo "${countries[@]} ${countries[@]} ${countries[@]}"
3条答案
按热度按时间siotufzp1#
首先,将列表读入数组,每行一个条目:
...或者,对于旧版本的bash:
其次,要复制条目,请将数组扩展到自身三次:
...或使用现代语法执行追加:
643ylb082#
简单地写这个:
第一行是输入数组,第二行是连接,最后一行是打印数组。
jm2pwxwz3#
在ubuntu14.04上,下面将连接三个元素(元素计数将给予:3),每个元素是数组
countries
:而下面的代码将所有元素连接在一个数组中:
这一数目为30个(考虑到原员额所列国家)。