说一个有一个功能/方法foo
。可以使用local
关键字在一行中声明多个变量,还是必须为每个变量用一个声明语句分隔它们?
foo()
{
local x y z
}
或者
foo()
{
local x
local y
local z
}
并进一步:
foo()
{
local -i x -a y z
}
foo()
{
local -i x=2 -a y=() z
}
…
或等效的逐行声明。
是的。可以测试,但一方面我找不到任何关于此的 Q/A,第二 - 可能有一些隐藏的警告?
是的你可以。一个可能的警告是SC2155,因为您应该单独声明和分配。
话虽如此,除了在参数之间使用多个声明选项外,它将起作用。另请注意,声明参数将应用于所有变量(在本例中
-i
)。脚本0:
输出:
脚本1:
输出:
添加到@jesse_b 的出色答案。我可以确认这也有效(并考虑了SC2155的最佳实践):