将任意数量的AWS组添加到bash中的阵列

时间:2018-07-30 15:42:37

标签: bash amazon-web-services

我正在编写一个bash脚本,需要执行以下操作:

  1. 向用户询问要添加到用户帐户的AWS组的数量。
  2. 获取用户输入的组的名称并将其添加到数组中。

这是我拥有的伪代码,可以用来做我想做的事情:

echo "Enter the number of AWS groups you want to add the user to: "
read -r num_groups
counter=1
while [ $counter -le $num_groups ]
do
echo "Enter the name of a group to add to the user: "
read -r aws_group_name
***add the names of the groups to an array***
((counter++))
done

我不知道用户会提前指定的组数。每个AWS账户可以具有不同数量的组,并且具有不同的组名。

如何添加用户给数组的名称列表?

1 个答案:

答案 0 :(得分:1)

您可以使用Bash中的+=运算符将其追加到数组中。为了避免对组进行计数,您可以循环直到输入为空:

while read -rp 'Enter name of group to add: ' name; do
    [[ -z $name ]] && break
    names+=("$name")
done

用法如下:

Enter name of group to add: name1
Enter name of group to add: name2
Enter name of group to add:

其中names包含以下内容:

$ declare -p names
declare -a names=([0]="name1" [1]="name2")