LINUX.ORG.RU

shell скрипт для установки обоев.


0

0

Вот такой вот скрипт, при каждом запуске устанавливает в качестве обоев случайное изображение из дериктории WALL_DIR. Формат должен быть jpg.

#!/bin/sh

set_wallpaper()
{
    NFILES=`echo $@ | wc -w`
    shift `expr $RANDOM % $NFILES`
    feh --bg-scale $1
}

RANDOM=`date +'%s'` # set random generator
WALL_DIR=/home/user/wallpapers
set_wallpaper `echo $WALL_DIR/*.jpg`

Если кто подскажет как сделать выборку не только по jpg файлам, буду признателен.

Ответ на: комментарий от tzukko

Не совсем, в функцию должен быть передан полный путь, а не только имя файла, но за идею спасибо.
Сделал так:
set_wallpaper `echo $WALL_DIR/*.jpg $WALL_DIR/*.png`

plambir
() автор топика
Ответ на: комментарий от Deleted

Действительно, через find и shuf лучше, спасибо.
Теперь скрипт выглядит так:

#!/bin/sh

WALL_DIR='/home/user/wallpapers'
FILE_SUFFIX='jpg|png|jpeg|tga'

feh --bg-scale $(find $WALL_DIR -regextype posix-extended -regex ".*\.(${FILE_SUFFIX})"  | shuf -n 1)

plambir
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.