声明函数的局部数组

Declaring arrays local to a function

我正在使用声明

在函数内部声明一个数组
declare -a r

我需要为该函数使用一个本地数组。

我需要

local declare -a r

local 替换 declare。对全局范围使用 declare,对局部范围使用 local。但不要在同一行中使用两者。

I need to employ a local array to the function.

变量已经是本地的。 declarelocal 完全相同。没有区别。

declare -a arr
# exactly the same as
local -a arr

如果想从视觉上区分变量是局部变量,那么使用local关键字。

如果你希望变量是全局的,使用-g开关。请参阅 bash 手册。

Would I require local declare -a r

不,那会声明一个名为 declare.

的变量

我会做一个

local r
r=()

local r
declare -a r

或一次性

local r=()