如何避免在数组中存储没有间距的值?

How to avoid the storing values without spacing in an array?

在我的 shell 脚本中,我编写了一个数组来存储命令的值。它有两个元素 (712,710),但它们作为一个元素存储在数组中(没有间距)。如何避免这种情况?

我的脚本:

 #! /bin/bash

GIT_API="https://XXXXXXXXXX.lk/api/v4"
GIT_TOKEN="XXXXXXXXXXXX"
GROUP_NAME="testdevops"

GROUP_ID=$(curl --request GET --header "PRIVATE-TOKEN: $GIT_TOKEN" -g "$GIT_API/groups?top_level_only=true&search=testdevops" | jq -r ".[] .id")
echo "${GROUP_ID}"

USER_ID_ARRAY=($(curl --request GET --header "PRIVATE-TOKEN: $GIT_TOKEN" "$GIT_API/groups/$GROUP_ID/members" | jq -r ".[] .id"))

USER_ACCESS_LEVEL_ARRAY=($(curl --request GET --header "PRIVATE-TOKEN: $GIT_TOKEN" "$GIT_API/groups/$GROUP_ID/members" | jq -r ".[] .access_level"))    
         
echo ${USER_ID_ARRAY[*]}
         
echo ${USER_ACCESS_LEVEL_ARRAY[*]}

for (( c=0; c<${#USER_ACCESS_LEVEL_ARRAY[@]}; c++ ))
do    
        if [ ${USER_ACCESS_LEVEL_ARRAY[$c]} != 50 ]
        then
        NON_OWNER_USERS_ARRAY_ELEMENT_NO+=(${c})
        fi
done
    
echo ${NON_OWNER_USERS_ARRAY_ELEMENT_NO[*]}
    
for (( d=0; d<${#NON_OWNER_USERS_ARRAY_ELEMENT_NO[@]}; d++ ))
do
        NON_OWNER_USERS_ID_ARRAY+=${USER_ID_ARRAY[${NON_OWNER_USERS_ARRAY_ELEMENT_NO[$d]}]}
done

echo ${NON_OWNER_USERS_ID_ARRAY[0]}

实际输出:

36 711 712 710
50 50 20 10
2 3
712710

输出需求:

36 711 712 710
50 50 20 10
2 3
712 710

场景是这样的:在 GitLab 中识别给定组名的用户并将其从组中删除。

用 () 添加元素,用 @

访问它们

如下:

# declare
myArry=()

for(( d=0; d<2; d++ ))
do 
   # add element with ()
   myArray+=($d)
done

# access elemets with the @ operator
for value in "${myArray[@]}" 
do  
    echo "$value"
done

# or access the first element
echo ${myArray[0]}