如何从 bash 中的列表中获取每三分之一和每第四个元素?

How can i get an every third and every fourth element from list in bash?

我的脚本中有下一个列表

....
declare -a Issues=('DPTESTXXXX-15-' 'DPTESTXXXX-16-' 'DPTESTXXXX-17-' 'DPTESTXXXX-18-' 'DPTESTXXXX-19-' 'DPTESTXXXX-20-' 'DPTESTXXXX-21-' 'DPTESTXXXX-22-' 'DPTESTXXXX-23-' 'DPTESTXXXX-24-' 'DPTESTXXXX-25-' 'DPTESTXXXX-26-' 'DPTESTXXXX-27-' 'DPTESTXXXX-28-');
for i in ${Issues[@]}; do
    git checkout -b "$i"'do-this-rc1'    
    ....
done

所以在输出中我有一个新的 git 分支,名称为 DPTESTXXXX-'numbers'-do-this-rc1 用于列表中的所有元素。 现在我需要相同的,即 -> git checkout -b "$i"'do-this-**rc1**' ,但仅适用于列表中的每第三个元素。 -> git checkout -b "$i"'do-this-**rc2**' 每四个元素。 在 bash 中执行此操作的最佳方法是什么?

如果我正确地理解了这一点,您想要 select 每 3 个条目和每 4 个条目到 运行 git 命令。这可能是您需要的,请查看:

#!/bin/bash

declare -a Issues=( 'DPTESTXXXX-15-'
                    'DPTESTXXXX-16-'
                    'DPTESTXXXX-17-'
                    'DPTESTXXXX-18-'
                    'DPTESTXXXX-19-'
                    'DPTESTXXXX-20-'
                    'DPTESTXXXX-21-'
                    'DPTESTXXXX-22-'
                    'DPTESTXXXX-23-'
                    'DPTESTXXXX-24-'
                    'DPTESTXXXX-25-'
                    'DPTESTXXXX-26-'
                    'DPTESTXXXX-27-'
                    'DPTESTXXXX-28-' );

for((n=0;n<${#Issues[@]};n++)); do
        if (( $(($n % 3 )) == 0 )); then
                # Run every 3 entries
                git checkout -b "${Issues[$n]}"'do-this-rc1'
        fi
        if (( $((n % 4 )) == 0 )); then
                # Run every 4 entries
                git checkout -b "${Issues[$n]}"'do-this-rc2'
        fi
done