我需要为以下场景设计代码:
我需要设置packageN和productN变量,这应该通过循环和计数器来完成我想。然后根据我得到的包和产品的数量,它将运行相应数量的命令。这是包含2个包和2个产品的方案:
package1=packageA
package2=packageB
product1=productA
product2=productB
somecommand --package $package1 --product $product1
somecommand --package $package1 --product $product2
somecommand --package $package2 --product $product1
somecommand --package $package2 --product $product2
这可能变得非常复杂,因为我需要例如10个产品的10个包以及上面的代码不是非常优化的,我相信应该有简单的方法如何做到这一点,例如:
n=o
while true; do
echo specify package name:
read package$n
echo Do you have another package?
read yesno
if [[ $yesno = n ]]; then
break
else
((n++))
done
同样的产品循环,但后来我不知道如何基于我有多少变量来构建上述命令。
答案 0 :(得分:1)
packages=( package-1 package-2 package-3 )
products=( product-1 product-2 product-3 )
for package in "${packages[@]}"
do
for product in "${products[@]}"
do
somecommand --package "$package" --product "$product"
done
done