Если вы перейдете по этому адресу: 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]
Любые подсказки о том, как это сделать?
Как правило, при расширении значения переменных вы хотите заключить их в ${...}, иначе bash интерпретирует имена переменных как обычные строки:
${...}
for i in $(seq 1 $fontListCount); do echo -e "I like this font --> " ${fontList[$i]} done
Исходя из предположения, что результатом является фактически одно имя шрифта на строку, вы можете использовать один вызов readarray:
readarray
readarray -t fontList < <(curl http://artii.herokuapp.com/fonts_list)
Тогда
for i in "${fontList[@]}"; do echo "I like this font --> $i" done