gpt4 book ai didi

arrays - 将多行输出解析为 shell 脚本中的数组

转载 作者:行者123 更新时间:2023-11-29 09:51:22 24 4
gpt4 key购买 nike

我试图从一个 git 用户那里获取所有 repos,并将它们放入 shell 脚本中的一个数组中。数组以某种方式无法将新行识别为分隔符,并且表现得好像数组中只有一个多行元素。

这是我的示例代码:

someUser=Joe
declare -a repos=$(curl -s "https://api.github.com/users/$someUser/repos?page=$PAGE&per_page=100" | grep -e 'git_url*' | cut -d \" -f 4 | cut -d"/" -f5 | cut -d"." -f1)

for repo in $repos; do
echo $repo
// some more stuff
done

curl 和 cut 的输出如下所示:

RepoA
RepoB
RepoC
[...]

如何将新行元素视为数组中的新元素?我多次使用数组,所以我需要一个包含所有存储库的固定容器。

最佳答案

这是迭代 Bash 数组元素的正确方法:

for repo in "${repos[@]}"; do

此外,要使用命令的输出创建一个数组,您需要将 $(...) 子外壳包装在 (...) 中,例如这个:

declare -a repos=($(curl -s ...))

关于arrays - 将多行输出解析为 shell 脚本中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41320417/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com