从cURL结果访问项目列表

时间:2018-11-14 19:45:21

标签: arrays linux bash unix curl

如果您转到以下网址:http://artii.herokuapp.com/fonts_list,您将在列表中看到417个项目的列表。

我正在尝试创建一个变量来存储/访问那些列表。

我无法使用它。

fontList=$(curl http://artii.herokuapp.com/fonts_list)
fontListCount=$(curl http://artii.herokuapp.com/fonts_list | wc -l)

for i in $(seq 1 $fontListCount);
do
    echo -e "I like this font --> " fontList[$i]
done

我不断得到

I like this font -->  fontList[1]
...
I like this font -->  fontList[417]

关于如何操作的任何提示?

2 个答案:

答案 0 :(得分:2)

假设结果实际上是每行一个字体名称,则可以使用一次对readarray的调用:

readarray -t fontList < <(curl http://artii.herokuapp.com/fonts_list)

然后

for i in "${fontList[@]}"; do
  echo "I like this font --> $i"
done

答案 1 :(得分:1)

通常,在扩展变量的值时,您要用${...}括起来,否则bash会将变量名称解释为普通字符串:

for i in $(seq 1 $fontListCount);
do
    echo -e "I like this font --> " ${fontList[$i]}
done