使用shell脚本在字符串变量中存储整数数组

使用shell脚本在字符串变量中存储整数数组,shell,Shell,我一直在尝试使用Unix shell脚本将整数数组作为字符串存储在变量中 e、 g: 作为 如何实现这一点?尝试以下操作,最后str将整个数组存储为字符串: Arr=(1,2,3) $ echo ${Arr} 1,2,3 str=`echo "${Arr//,}"` $ echo $str 123 这更像是一个功能性问题,但是否希望此字符串存储大于9的数字?我想如果array[3]={9,10,11},str=“91011”可能会成为一个问题。在Unix shell脚本中,可能在bash或z

我一直在尝试使用Unix shell脚本将整数数组作为字符串存储在变量中

e、 g:

作为


如何实现这一点?

尝试以下操作,最后str将整个数组存储为字符串:

Arr=(1,2,3)
$ echo ${Arr}
1,2,3

str=`echo "${Arr//,}"`
$ echo $str
123

这更像是一个功能性问题,但是否希望此字符串存储大于
9
的数字?我想如果
array[3]={9,10,11}
str=“91011”
可能会成为一个问题。在Unix shell脚本中,可能在bash或zsh中,但在POSIX shell(它没有数组…)中,您没有对数组执行任何操作。请选择正确的标记,例如
bash
zsh
ksh
以匹配您实际使用的外壳。此外,请澄清您的问题。您正试图根据您的shell,将
{0,1,2}
的大括号扩展(例如应引用
012
,以避免混淆)分配给
数组的第二个元素(例如
数组[2]=“012”
),然后您询问如何将其转换为
str=123
??呵呵??似乎有一个打字错误或逻辑断开某处。。。或者你真的想把
+1
加到
数组[2]
中的每个数字上,得到
str
?我知道你要去哪里了。始终在代码前面加上
4个空格
,以便在回答中格式化代码(作为代码)。另外,您是如何使
Arr=(1,2,3)
等价于
array[2]={0,1,2}
?您可以创建一个单元素数组
Arr[0]=“1,2,3”
,其中原始数组具有
array[2]={0,1,2}
。然后使用带保护的标准变量表示法(例如
${var}
)访问
Arr
的第一个元素??我不确定这个问题是否清楚到可以回答这个问题,但你的回答可能会从进一步的解释中受益。
str="123" 
Arr=(1,2,3)
$ echo ${Arr}
1,2,3

str=`echo "${Arr//,}"`
$ echo $str
123