我的脚本中有下一个列表
....
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,用于列表中的所有元素。
现在我需要相同的ie -> git checkout -b "$i"'do-this-**rc1**'
,但仅适用于列表中的每个第三个元素。
每个第四个元素-> git checkout -b "$i"'do-this-**rc2**'
。
在bash中执行此操作的最佳方法是什么?
答案 0 :(得分:1)
如果我理解这一点,你想要选择每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