【发布时间】:2016-11-14 09:35:32
【问题描述】:
我正在学习 bash。 现在我想给一个函数一个空数组。但是,它不起作用。请参考以下内容,
function display_empty_array_func() {
local -a aug1=$1
local -a aug2=${2:-no input}
echo "array aug1 = ${aug1[@]}"
echo "array aug2 = ${aug2[@]}"
}
declare -a empty_array=()
display_empty_array_func "${empty_array[@]}" "1"
输出如下,
array aug1 = 1 # I expected it is empty
array aug2 = no input # I expected it is 1
在我的理解中,引用变量允许我们给出一个空变量, 喜欢下面,
function display_empty_variable_func() {
local aug1=$1
local aug2=${2:-no input}
echo "variable aug1 = ${aug1}"
echo "variable aug2 = ${aug2}"
}
display_empty_variable_func "" "1"
其输出如下
variable aug1 = # it is empty as expected
variable aug2 = 1 # it is 1 as expected
我不知道传递空数组有什么问题。 知道机制或解决方案的人。请让我知道。 非常感谢。
【问题讨论】:
标签: bash