下面是示例代码:
arg[1]="shell"
arg_value[1]=10
agr[2]="script"
agr_value[2]=50
command skbit ${agr[1]}="${arg_value[1]}" ${agr[2]}="${arg_value[2]}"
skbit 是一个接受上述格式参数的脚本。
现在,如果有多个参数取决于运行时间。如何动态创建以上命令。
我尝试过,
command skbit $str
其中
str= ${agr[1]}="${arg_value[1]}" ${agr[2]}="${arg_value[2]}"
,依此类推。
此结构由于多种原因不适用于命令。
我想要以下结构的代码:
command skbit {A code which will generate arguments dynamically}
答案 0 :(得分:1)
您是否正在寻找类似的东西:
# define some arguments and values
arg[1]=shell
arg_value[1]=10
arg[2]=script
arg_value[2]=50
# joins the arguments and its values
for i in "${!arg[@]}"; do
args+=( "${arg[i]}=${arg_value[i]}" )
done
# calls the command with the joined arguments
command skbit "${args[@]}"
您也可以改用关联数组:
#!/bin/bash
declare -A arg
arg[shell]=10
arg[script]=50
for i in "${!arg[@]}"; do
args+=( "$i=${arg[$i]}" )
done
command skbit "${args[@]}"