0

我正在尝试在 bash 中打印一个数组,其元素数量以前未知。所以,目标是有类似的东西:

printf  "latc= ${#latc[@]}%s\n" ${latc[@]}

但这似乎是不可能的。我什至尝试将此线程的解决方案作为

for x in "${latc[@]}"
do
  printf " %s:%s\n" ${x}
done

,但我没有得到我想要的。

目前我正在与:

printf  "       latc="
echo ${latc[@]}

显然不是一种优雅的方法。请问有什么帮助吗?

4

2 回答 2

1

看起来你想要

printf "latc=%s\n" "${latc[*]}"

引用${latc[*]}生成单个字符串,其中的元素latc使用 的第一个字符IFS(默认为空格)连接。引用${latc[@]}引发了一种特殊的扩展,它为数组的每个元素生成一个单词。没有办法在格式字符串中指示重复的占位符,因为您似乎正在尝试使用${#latc[*]}%s.

于 2013-10-30T21:54:30.953 回答
0

您可以将数组打印为:

printf "%s\n" "${latc[@]}"
于 2013-10-30T21:41:54.670 回答