Использовать будем 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
. Выводится сообщение о том, что изображение не сохранено.
- Если пользователь ответил “да”, изображение перемещается из временного файла
Таким образом, скрипт загружает случайное изображение, показывает его, предлагает пользователю сохранить изображение и выполняет соответствующее действие в зависимости от ответа пользователя.