Lors de l'exécution de la partie suivante du script bash, il parcourt le tableau outter avant de faire une boucle dans le tableau interne ou du moins c'est ce qu'il semble faire.bash boucle imbriquée passant par la boucle externe avant de parcourir la boucle interne
for i in "${linkedTickets[@]}"
do
array=($(cat ${WORKDIR}/${i}_curl.log |
egrep 'Depend' |
sed 's/depends on//g; s/[][\"[:space:]]//g; s/fields,//g; s/issuelinks,//g; s/,type//g; s/,outward//g; s/outwarddependson//g; s/,name//g; s/Depend//g;' | tr -d '\040\011\015' | tr '\n' ' '))
var=$i
if [ ${#array[@]} -ne 0 ]; then
echo ""
echo "${!array[@]} -- ${array[@]}"
echo "$var"
for j in "${array[@]}"
do
cat "$WORKDIR/${var}_curl.log" |
grep -R "\[\"fields\",\"issuelinks\",${j},\"outwardIssue\",\"fields\",\"status\",\"name\"\]" |
sort -u
done
fi
done
La sortie ressemble à ceci:
0 -- 0
PROJ-198
PN/PROJ-16114/PROJ-1233_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-188_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-198_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-204_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-209_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-1371_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "On Hold"
0 1 2 3 4 5 -- 0 1 2 3 4 5
PROJ-186
PN/PROJ-16114/PROJ-16114_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-1142_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-172_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-180_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-182_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-185_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-186_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-187_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-188_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-198_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-204_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-209_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-1371_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "On Hold"
PN/PROJ-16114/PROJ-16114_curl.log:["fields","issuelinks",1,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-172_curl.log:["fields","issuelinks",1,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-180_curl.log:["fields","issuelinks",1,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-182_curl.log:["fields","issuelinks",1,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-185_curl.log:["fields","issuelinks",1,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-186_curl.log:["fields","issuelinks",1,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-187_curl.log:["fields","issuelinks",1,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-188_curl.log:["fields","issuelinks",1,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-200_curl.log:["fields","issuelinks",1,"outwardIssue","fields","status","name"] "Deployed"
PN/PROJ-16114/PROJ-201_curl.log:["fields","issuelinks",1,"outwardIssue","fields","status","name"] "Deployed"
PN/PROJ-16114/PROJ-16114_curl.log:["fields","issuelinks",2,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-180_curl.log:["fields","issuelinks",2,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-182_curl.log:["fields","issuelinks",2,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-185_curl.log:["fields","issuelinks",2,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-186_curl.log:["fields","issuelinks",2,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-198_curl.log:["fields","issuelinks",2,"outwardIssue","fields","status","name"] "Deployed"
PN/PROJ-16114/PROJ-199_curl.log:["fields","issuelinks",2,"outwardIssue","fields","status","name"] "Deployed"
PN/PROJ-16114/PROJ-209_curl.log:["fields","issuelinks",2,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-16114_curl.log:["fields","issuelinks",3,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-182_curl.log:["fields","issuelinks",3,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-186_curl.log:["fields","issuelinks",3,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-209_curl.log:["fields","issuelinks",3,"outwardIssue","fields","status","name"] "Deployed"
PN/PROJ-16114/PROJ-16114_curl.log:["fields","issuelinks",4,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-186_curl.log:["fields","issuelinks",4,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-16114_curl.log:["fields","issuelinks",5,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-186_curl.log:["fields","issuelinks",5,"outwardIssue","fields","status","name"] "Deployed"
0 -- 0
PROJ-209
PN/PROJ-16114/PROJ-16114_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-1142_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-172_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-180_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "Closed"
PN/PROJ-16114/PROJ-1371_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "On Hold"
Probablement juste faire quelques erreurs stupides. Mais en arrière-plan de ce que je fais ici, je passe un ticket Jira à ce script bash et je frise le ticket via la version 2 d'Atlassian et j'exécute le JSON comme ci-dessus, puis je récupère les tickets liés en les jetant dans linkedTickets [@] et en bouclant cela à quelques reprises dans le script pour ensuite boucler ces tickets pour générer mes logs de curl, et une fois terminé, je cherche des dépendances, les deux boucles ci-dessus avec lesquelles j'ai des problèmes sont Il suffit de chercher dans les # issuelink pour trouver la dérive de ce ticket #, mais il est bouclé par $ i dans la boucle pour $ j jusqu'à la fin au lieu de une fois par $ i et tout le long de $ j avant de revenir à $ i . Est-ce un cas d'utilisation d'une boucle for quand je devrais utiliser une boucle while à l'intérieur?
0 -- 0
PROJ-189
PN/PROJ-16114/PROJ-189_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "Closed"
0 -- 0
PROJ-195
PN/PROJ-16114/PROJ-195_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "Closed"
0 -- 0
PROJ-200
PN/PROJ-16114/PROJ-200_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "Closed"
0 -- 0
PROJ-209
PN/PROJ-16114/PROJ-16114_curl.log:["fields","issuelinks",0,"outwardIssue","fields","status","name"] "Closed"
Je me réjouis de tous les commentaires, je l'espère je ne vais pas martelée à dur pour ma syntaxe que je suis sûr qu'il est difficile, au mieux, très probablement incorrecte.