【发布时间】:2018-03-06 04:12:28
【问题描述】:
给定数组 arr 和字符串 str 。如果我让它们以另一种方式运行:
func "${arr[@]}" ${str}
如何在func函数中定义数组和字符串?
function func {
local arr=....
local str=....
}
根据我的理解(对吗?)如果我会这样做:local arr=("$@") 我会得到:arr[0]=the first argument - in this case it's will be all the arrayarr[1]=str
(根据我的检查,local arr=("$@") 给出的数组与 arr(我发送的内容)完全相同,除了它添加了 str 作为该数组中的最后一个元素。)
[我不问“如何在 bash 中发送数组”,但是,我如何从所有参数中选择数组]
【问题讨论】:
-
你必须使用那个命令吗?使用
func "$str" "${arr[@]}"会让事情变得更容易。 -
@Socowi 我知道,这样你可以跳过第一个元素。但是我想知道我带来的案子该如何处理?
-
bash中没有数组值。您将数组的所有 元素 作为单独的参数传递,而不是数组本身。
标签: arrays bash shell scripting