Вопрос пользователя:
Ответ нейросети:
#!/bin/bash # Проверяем, что передано один аргумент if [ "$#" -ne 1 ]; then echo "Usage: $0 <N>" exit 1 fi # Проверяем, что аргумент - целое число if ! [[ $1 =~ ^[0-9]+$ ]]; then echo "Error: N must be a positive integer" exit 1 fi # Получаем список доступных наборов данных с сайта datasets=$(curl -s https://www.opentopodata.org/api/) # Проверяем, что удалось получить список if [ -z "$datasets" ]; then echo "Error: Unable to retrieve datasets from the website" exit 1 fi # Подсчитываем количество доступных наборов данных num_datasets=$(echo "$datasets" | jq length) # Проверяем, что N не больше количества доступных наборов данных if [ "$1" -gt "$num_datasets" ]; then echo "Error: N is greater than the number of available datasets" exit 1 fi # Формируем список N первых наборов данных available_datasets=$(echo "$datasets" | jq -r ".[:$1] | to_entries | map(\"\(.key + 1). \(.value.name)\") | join(\"\\n\")") # Экспортируем переменную окружения AVAILABLE_DATASETS export AVAILABLE_DATASETS="$available_datasets" # Выводим список наборов данных в терминал echo -e "$available_datasets"
Для работы скрипта необходимо установить утилиту jq, которая используется для обработки JSON данных. Установить её можно с помощью команды sudo apt install jq
на Debian/Ubuntu или brew install jq
на macOS.
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.