Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何避免在数组中存储没有间距的值?_Bash_Gitlab_Gitlab Api - Fatal编程技术网

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

Bash 如何避免在数组中存储没有间距的值?,bash,gitlab,gitlab-api,Bash,Gitlab,Gitlab Api,在我的shell脚本中,我编写了将命令值存储在数组中的命令。它有两个元素(712710),但它们作为一个元素存储在数组中(没有间距)。如何避免这种情况 我的剧本: #! /bin/bash GIT_API="https://XXXXXXXXXX.lk/api/v4" GIT_TOKEN="XXXXXXXXXXXX" GROUP_NAME="testdevops" GROUP_ID=$(curl --request GET --he

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

我的剧本:

 #! /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
712 710
场景是这样的:在GitLab中标识给定组名的用户并将其从组中删除。

使用()添加元素,使用@

详情如下:

#声明
myArry=()

(d=0;dit是一个BASH特定的东西(使用BASH数组),所以我更新了你的标签。Git完全不相关;GITLAB和它们的API可能稍微相关,所以我把那些标签放进去了,但是你可能会考虑删除它们。这可能不是整个问题(我没有用BASH数组做很多事情),但是:<代码> No.OnrulsUsSersIdIaLoad + = $$。{USER\u ID\u ARRAY[${NON\u OWNER\u USERS\u ARRAY\u ELEMENT\u NO[$d]}]}
缺少括号,不会附加到数组中。
36 711 712 710
50 50 20 10
2 3
712 710