Скрипт для получения случайного изображения

Использовать будем 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

Подробнее о скрипте:

  1. Получение случайного изображения: В переменную image_url записывается URL случайного изображения с разрешением 1920×1080 пикселей из сервиса Picsum Photos.
  2. Загрузка изображения во временный файл: Команда wget используется для загрузки изображения по указанному URL и сохранения его в файл /tmp/background.jpg. Опция -O задает имя файла для сохранения.
  3. Проверка успешности загрузки изображения: После выполнения команды wget проверяется её статус завершения с помощью специальной переменной $?. Если статус не равен 0 (что означает ошибку), скрипт выводит сообщение об ошибке и завершает выполнение с кодом 1.
  4. Открытие изображения: Команда xdg-open используется для открытия изображения в стандартном приложении для просмотра изображений. Эта команда запускает просмотрщик изображений по умолчанию в зависимости от используемой операционной системы и рабочего окружения.
  5. Запрос к пользователю о сохранении изображения: Команда read запрашивает у пользователя ввод ответа на вопрос о том, хочет ли он сохранить изображение. Ответ сохраняется в переменную answer.
  6. Сохранение или удаление изображения: В зависимости от ответа пользователя выполняются следующие действия:
    • Если пользователь ответил “да”, изображение перемещается из временного файла /tmp/background.jpg в домашнюю директорию пользователя под именем background.jpg с помощью команды mv. Сообщение подтверждает сохранение изображения.
    • Если пользователь ответил “нет”, временный файл удаляется командой rm. Выводится сообщение о том, что изображение не сохранено.

Таким образом, скрипт загружает случайное изображение, показывает его, предлагает пользователю сохранить изображение и выполняет соответствующее действие в зависимости от ответа пользователя.