在bash中处理参数

在bash中处理参数,bash,Bash,如果我将字符串列表作为参数发送给script\u help或函数。 我想解决的是,当我试图写${$1[*]} 我被告知传递给脚本/函数的#num参数的$num地址。 我怎样才能修好它? 请注意,我不允许使用“for each”表格 例如: 在主脚本中: List_a=(a b c) List_b=(d e) Help_script $list_a $list_b 在帮助脚本中: For str1 in ${$1[*]};do #commands Done For str2 in ${$

如果我将字符串列表作为参数发送给script\u help或函数。 我想解决的是,当我试图写${$1[*]} 我被告知传递给脚本/函数的#num参数的$num地址。 我怎样才能修好它? 请注意,我不允许使用“for each”表格 例如: 在主脚本中:

List_a=(a b c)
List_b=(d e)
Help_script $list_a $list_b 
在帮助脚本中:

For str1 in ${$1[*]};do
  #commands
Done 
For str2 in ${$2[*]};do 
  #commands
Done

你能提供一个具体的例子吗?从您的描述中不清楚您正在尝试做什么。是的,例如:我正在尝试向脚本发送两个字符串列表,并使用for循环检查每个字符串。所以我试图解决第一个列表,对于${$1[*]}中的Str,这不是一个具体的例子。请编辑您的问题,以显示您如何调用脚本的确切示例。您没有将两个“列表”传递给
Help\u script
。你正在传递五个论点。请参见
Help\u脚本中的
echo$#
输出以及
printf'[%s]\n''$@“
的作用。不能将数组直接传递给函数。只有名字/等等才知道。谢谢你们