我正在向一个函数传递一个数组并尝试打印该数组的每个元素。Bash脚本:将数组作为参数传递给函数并打印数组
下面是代码片段与围绕阵列参数引号:
#!/bin/bash
print_array()
{
[email protected]
for i in "${array[@]}" #with quotes
do
echo $i
done
}
ar=("1. a" "2. b" "3. c")
print_array ${ar[@]}
当我执行上述脚本中,输出是
1. a 2. b 3. c
下面是代码片段而不阵列周围引号参数:
#!/bin/bash
print_array()
{
[email protected]
for i in ${array[@]} #without quotes
do
echo $i
done
}
ar=("1. a" "2. b" "3. c")
print_array ${ar[@]}
当我执行上面的脚本时,输出是
1.
a
2.
b
3.
c
输出根据数组参数周围的引号而变化。 我真的很迷惑输出显示。请帮我解决它。
预期输出应该是:
1. a
2. b
3. c
您不能将数组复制到标量中 - 标量只能保存一个数组元素,但不能超过数据元素。 – 2014-11-14 13:47:03