구글에 검색해서 나오는 예제는 다 아래와 같다
var1=("a" "b" "c")
for var in ${var1}
do
echo $n > test.txt
done
근데 나는 ["a","b","c"] 이렇게 생긴 배열을 받아서 공백이 아닌 comma 기준으로 반복문을 돌려야됐다.
var1=["a","b","c"]
for var in ${var1//,/ }; do
echo $var
done
이렇게 하면 ,를 기준으로 돌아진다 하지만 맨처음에 [a, 마직막에 c] 이런식으로 나오기 때문에 [랑 ]을 제거 한후 사용해야된다.
근데 저렇게 선언한건 잘되는데 외부에서 받아온 변수를 돌리려니까 안됐다. 그래서 아래 같이 바꾸니 잘 돌아갔다
for var in {$var1}; do
echo $var
done
나는 젠킨스를 돌릴 때 일치하는 분기를 하기 위해 체크하는거라서 굳이 [ ]를 제거 할 필요 없이 내가 원하는 문자열이 포함되는지 체크했다. 아래는 젠킨스 Exec command 이다. echo 부분에 내가 원하는 분기를 넣으면 된다.
for n in {$PR_LABELS_NAME}
do
if [[ "$n" == *admin* ]]
then
echo $n > admin.txt
elif [[ "$n" == *web* ]]
then
echo $n > web.txt
elif [[ "$n" == *mobile* ]]
then
echo $n > mobile.txt
elif [[ "$n" == *pc* ]]
then
echo $n > pc.txt
fi
done
- 오타가 있을 수 있습니다. 오타 발견이나 잘안되는게 있으면 댓글 남겨주세요.