Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Скрипт для смены обоев во Fluxbox (скрипт)  (Прочитано 760 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн StepnoyAP

  • Автор темы
  • Новичок
  • *
  • Сообщений: 20
  • Peacemaker
    • Просмотр профиля
Этот скрипт должен ставить случайные обои во Fluxbox'e, но он почему-то не работает.

Вот скрипт:
# Пути к папкам с обоями
bgPathes="~/.pictures/NewWallpapers
~/.pictures/Wallpapers"

# Выбираем папку с обоями
bgPath=`echo "$bgPathes"|sed $((RANDOM%\`echo "$bgPathes"|wc -l\`))\!d`

# Сосотавляем лист с обоями
bgList=`find "$bgPath" -name '*.jpg'`

# Выбираем случайную обою
bgFile=`echo "$bgList"|sed $((RANDOM%\`echo "$bgList"|wc -l\`))\!d`

# Ставим на рабочий стол
fbsetbg -f "$bgFile"

Вот результат:
sed: -e выражение #1, символ 2: недопустимое использование строки адреса 0
find: невозможно искать `': Нет такого файла или каталога
sed: -e выражение #1, символ 2: недопустимое использование строки адреса 0

Я в скриптописании новичок. Подскажите, что я делаю не так?

Пользователь решил продолжить мысль 31 Июля 2012, 21:50:46:
Работает так:
# Пути к папкам с обоями
bgPathes="/home/sap/.pictures/Wallpapers
/home/sap/.pictures/NewWallpapers"

# Выбираем случайную папку
bgPRandm=`echo $[$RANDOM % \`echo "$bgPathes"|wc -l\` + 1]`
bgPath=`echo "$bgPathes"|sed $bgPRandm\!d`

# Сосотавляем лист с обоями
bgList=`find -L "$bgPath" -name '*.jpg'`

# Выбираем случайную обою
bgFRandm=`echo $[$RANDOM % \`echo "$bgList"|wc -l\` + 1]`
bgFile=`echo "$bgList"|sed $bgFRandm\!d`

# Ставим на рабочий стол
fbsetbg -f "$bgFile"

Но это как-то некрасиво выглядит... Неуверен, что правильно написал  :-\
« Последнее редактирование: 31 Июля 2012, 21:51:09 от StepnoyAP »

 

Страница сгенерирована за 0.014 секунд. Запросов: 21.