我有一个shell脚本,它迭代数组中的一系列值并对该项执行命令。
对于任何返回错误代码的命令!= 0,我想将其添加到一组失败中以便以后显示。
答案 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 $?
如果任何子命令失败,这还有一个非零返回的好处。