将项目收集到shell数组中

时间:2014-09-14 00:54:01

标签: arrays bash loops

我有一个shell脚本,它迭代数组中的一系列值并对该项执行命令。

对于任何返回错误代码的命令!= 0,我想将其添加到一组失败中以便以后显示。

1 个答案:

答案 0 :(得分:2)

由于我在制定问题时想出了这个问题,这里是我使用的代码:

#!/bin/bash -u

array=( repo1 repo2 repo3 )
errorarray=()
for i in "${array[@]}"; do
    cd $i && git pull || errorarray+=($i)
done


echo errorarray has ${#errorarray[@]} items

for e in "${errorarray[@]}"; do
    echo "$e failed"
done;

(( ${#errorarray[@]} == 0 )); 
exit $?

如果任何子命令失败,这还有一个非零返回的好处。