Использовать будем https://picsum.photos
Создаем файл:
nano wallpapers.sh
Пишем скрипт :
#!/bin/bash
# Получаем случайное изображение с Picsum
image_url="https://picsum.photos/1920/1080"
# Загружаем изображение во временный файл
wget -O /tmp/background.jpg "$image_url"
# Проверяем, успешно ли загружено изображение
if [ $? -ne 0 ]; then
echo "Ошибка при загрузке изображения."
exit 1
fi
# Показываем изображение
xdg-open /tmp/background.jpg
# Спрашиваем пользователя, хочет ли он сохранить изображение
read -p "Желаете сохранить обои? (да/нет): " answer
if [ "$answer" = "да" ]; then
mv /tmp/background.jpg ~/background.jpg
echo "Обои сохранены как ~/background.jpg"
else
rm /tmp/background.jpg
echo "Обои не сохранены."
fi
Делаем скрипт исполняемым:
chmod +x wallpapers.sh
Запускаем скрипт:
./wallpapers.sh
Подробнее о скрипте:
- Получение случайного изображения:
В переменнуюimage_urlзаписывается URL случайного изображения с разрешением 1920×1080 пикселей из сервиса Picsum Photos. - Загрузка изображения во временный файл: Команда
wgetиспользуется для загрузки изображения по указанному URL и сохранения его в файл/tmp/background.jpg. Опция-Oзадает имя файла для сохранения. - Проверка успешности загрузки изображения: После выполнения команды
wgetпроверяется её статус завершения с помощью специальной переменной$?. Если статус не равен 0 (что означает ошибку), скрипт выводит сообщение об ошибке и завершает выполнение с кодом 1. - Открытие изображения:
Командаxdg-openиспользуется для открытия изображения в стандартном приложении для просмотра изображений. Эта команда запускает просмотрщик изображений по умолчанию в зависимости от используемой операционной системы и рабочего окружения. - Запрос к пользователю о сохранении изображения: Команда
readзапрашивает у пользователя ввод ответа на вопрос о том, хочет ли он сохранить изображение. Ответ сохраняется в переменнуюanswer. - Сохранение или удаление изображения: В зависимости от ответа пользователя выполняются следующие действия:
- Если пользователь ответил «да», изображение перемещается из временного файла
/tmp/background.jpgв домашнюю директорию пользователя под именемbackground.jpgс помощью командыmv. Сообщение подтверждает сохранение изображения. - Если пользователь ответил «нет», временный файл удаляется командой
rm. Выводится сообщение о том, что изображение не сохранено.
- Если пользователь ответил «да», изображение перемещается из временного файла
Таким образом, скрипт загружает случайное изображение, показывает его, предлагает пользователю сохранить изображение и выполняет соответствующее действие в зависимости от ответа пользователя.