LINUX.ORG.RU
ФорумTalks

Мож кому пригодится


0

0

Наваял скрипт-будильник простенький: ставлю xmms на паузу, запускаю скрипт, указываю время, ложусь спать - в заданное время xmms снимается с паузы. Гораздо приятнее вставать под музыку типа Enigma -- Sadness или там Armik :)

Вот, может пригодится кому:

#!/bin/bash

read -p 'Когда ты хочешь проснуться? [чч:мм] '

HOURS=`echo $REPLY | awk -F: '{print $1}'`
MINUTES=`echo $REPLY | awk -F: '{print $2}'`

HOURS_NOW=`date +%H`
MINUTES_NOW=`date +%M`

if [ $(($HOURS)) -gt $(($HOURS_NOW)) ]; then 
        H_DIFF=`expr $HOURS - $HOURS_NOW`
else
        H_DIFF=`expr 24 + $HOURS - $HOURS_NOW`
fi

M_DIFF=`expr $MINUTES - $MINUTES_NOW`

TOTAL_DIFF=$(($H_DIFF * 60 + $M_DIFF))

H=$(($TOTAL_DIFF / 60))
M=$((TOTAL_DIFF - $H*60))

echo ОК, я разбужу тебя через $H:$M

if [ x`ps -Ao %c | grep xmms` = "x" ]; then 
        echo 'но только если ты запустишь xmms ;)'
fi

COMMAND="sleep $(( H*3600 + M*60 ))"
echo "$COMMAND; xmms -n0 -t"
$COMMAND; xmms -n0 -t
anonymous

Re: Мож кому пригодится

Товарищь анонимус, зачем изобретать велосипед, когда его лет 30 назад изобрели. Зовется велосипед "at". Для удобства можно поверх него скриптик наваять. xmms, кстати тоже очень не плохо из at стартуется: DISPLAY=:0.0 xmms <options>

quarck ()
Ответ на: Re: Мож кому пригодится от quarck

Re: Re: Мож кому пригодится

а на хрена вообще xmms держать для этого(что подразумевает иксы запущенные),когда можно и mpg123 ,например,обойтись....продливая жисть монитору,отключив Х-ы))

anonymous ()
Ответ на: Re: Мож кому пригодится от grustnoe

Re: Re: Мож кому пригодится

>#!/bin/bash - это моветон :)

это почему?

>продливая жисть монитору,отключив Х-ы))

можно просто монитор выключить и никакие Хы ему не страшны :)

>Товарищь анонимус, зачем изобретать велосипед

я правда другой анонимус, тем не менее отвечу - например для тренировки написания скриптов

anonymous ()
Ответ на: Re: Re: Мож кому пригодится от anonymous

Re: Re: Re: Мож кому пригодится

>> #!/bin/bash - это моветон :)

> это почему?

Потому что культурно -- #!/bin/sh.

Потому что в /bin оно лежит в основном в линуксе. Во фре или Опёнке bash _обычно_ находится в /usr/local/bin.

Obidos ★★★★★ ()
Ответ на: Re: Мож кому пригодится от grustnoe

Re: Re: Мож кому пригодится

За "at" спасибо, посидел полчаса, разобрался вроде немного. Я просто не знал об этой команде :) Поэтому и скрипт написал :)

K48 ★★★★ ()
Ответ на: Re: Re: Мож кому пригодится от anonymous

Re: Re: Re: Мож кому пригодится

> я правда другой анонимус, тем не менее отвечу - например для тренировки написания скриптов

Ну для тренировки оно конечно хорошо. Но других (тех кто не знает/не знал про at) не желательно вводить в заблуждение окончательное, что такого чуда (at) нет. (Кто-то может подумать, что раз чел пишит скрипты - то все знает, и все умеет, и типа значит скрипт - единственный способ так вот запустить в нужное время ;-)

quarck ()
Ответ на: Re: Re: Re: Re: Re: Мож кому пригодится от watashiwa_daredeska

Re: Re: Re: Re: Re: Re: Мож кому пригодится

> А какие причины не ставить zsh в /bin?

Не годится для скриптов. Не полностью совместима со стандартом.

> tclsh?

Было бы неплохо, но лучше scsh.

Все твои приколы неуместны ибо только баш является полностью совместимой со стандартом, имеющей множество полезных расширений, портированной на множество платформ оболочкой. И в любой системе она должна находиться в /bin.

anonymous ()
Ответ на: Re: Re: Re: Re: Re: Re: Мож кому пригодится от anonymous

Re: Re: Re: Re: Re: Re: Re: Мож кому пригодится

> только баш является полностью совместимой со стандартом,

#!/bin/bash со стандартом несовместимо. Совместимо - #!/bin/sh. Кроме того, совместимость с неким стандартом - вещь преходящая, сегодня есть, завтра нет или наоборот.

watashiwa_daredeska ★★★★ ()
Ответ на: Re: Re: Re: Re: Re: Re: Мож кому пригодится от anonymous

Re: Re: Re: Re: Re: Re: Re: Мож кому пригодится

> Не годится для скриптов. Не полностью совместима со стандартом.

это с каким-таким стандартом она не совместима?

> И в любой системе она должна находиться в /bin.

ага. вот только почему-то, в _любой_, отличной от линуха системе весь GNU-тый зоопарк норовят в /usr/local хапихнуть. к чему-бы это?

ananas ★★★★★ ()
Ответ на: Re: Re: Re: Re: Re: Re: Re: Мож кому пригодится от ananas

Re: Re: Re: Re: Re: Re: Re: Re: Мож кому пригодится

> это с каким-таким стандартом она не совместима?

С POSIX.

> ага. вот только почему-то, в _любой_, отличной от линуха системе весь GNU-тый зоопарк норовят в /usr/local хапихнуть. к чему-бы это?

Вот и я спрашиваю о том же. Ответ - из религиозных соображений. Ибо гнутые утилиты по всем показателям забивают "родной" зоопарк. Вот и приходится прибегать к таким нечестным приемам, чтоб хоть как-то приподнять свои кустарные поделия.

anonymous ()
Ответ на: Re: Re: Re: Re: Re: Re: Re: Мож кому пригодится от watashiwa_daredeska

Re: Re: Re: Re: Re: Re: Re: Re: Мож кому пригодится

> #!/bin/bash со стандартом несовместимо. Совместимо - #!/bin/sh. Кроме того, совместимость с неким стандартом - вещь преходящая, сегодня есть, завтра нет или наоборот.

Во-во. Вчера стандартом было #!/bin/sh, а сегодня - #!/bin/bash.

anonymous ()
Ответ на: Re: Re: Re: Re: Re: Re: Re: Re: Мож кому пригодится от anonymous

Re: Re: Re: Re: Re: Re: Re: Re: Re: Мож кому пригодится

> С POSIX.

очень даже совместима. если не приравнивать bash к POSIX и вызывать zsh как sh.

> Ответ - из религиозных соображений.

и частенько это довольно сильно раздражает :(

ananas ★★★★★ ()

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Мож кому пригодится

у меня вообще по crontab будильник. mpg123 wake_up.mp3. Скрипт wake 7 20 просто добавляет к crontab.def строчку, копирует получившийся файл в crontab. В 7 20 я просыпаюсь =(

WerNA ★★★★★ ()

Re: Мож кому пригодится

xmms-alarm - не судьба????

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