【发布时间】:2012-12-09 17:07:33
【问题描述】:
我想将一个数组作为参数传递给一个函数并向该数组添加一个新元素。 然后将数组传递给另一个函数并打印其内容。 (所有这些都在 Bash 中。)
syntax error near unexpected token `"$2"'
` $1+=("$2")'
这就是我得到的全部,可能是因为在给变量赋值时$ 不能使用。我不知道如何解决这个问题。你能帮帮我吗?
这是我的方法:
#/bin/bash
add_element()
{
$1+=("$2")
}
print_array()
{
for i in "${$1[@]}"
do
echo "$i"
done
}
declare -a ARRAY
add_element ARRAY "a"
add_element ARRAY "b"
add_element ARRAY "1,2"
add_element ARRAY "d"
print_array ARRAY
【问题讨论】:
-
请问有什么问题
-
@Satya 添加了实际问题。
-
如果您将 add_element 中的行更改为以下内容: eval $a+='('$*')' ;那么你应该是金色的。
标签: arrays bash argument-passing