[+] Skrypt w bashu - zegar kuku

Potrzebujesz pomocy z C, C++, perl, python, itp.
spook
Posty: 15
Rejestracja: 21 października 2010, 10:06

[+] Skrypt w bashu - zegar kukułka

Post autor: spook »

Witam.
P
roszę o pomoc w utworzeniu prostego skryptu, który będzie uruchamiał odtwarzanie sampli w formacie .wav za pomocą:

Kod: Zaznacz cały

aplay
Sampli będzie 12 ulokowanych w katalogu .sample i zależy mi na tym by odtwarzane były te o numerach zgodnych z aktualną godziną np. o godz 11 odtwarzany będzie dźwięk kukulka_11.wav, o godz 12 kukulka_12. wav, o godz 13 kukulka_1.wav, czyli podobnie jak to jest w tradycyjnej kukułce wiszącej na ścianie. Za pomocą Google ciężko było mi wyszukać odpowiedni skrypt, a napisany samodzielnie nie działa.

Kod: Zaznacz cały

#!/bin/bash

godzina=`date +%H:%M`
if [ "$godzina" = "10:00" ]; then
    exec aplay /home/spook/cuckoo_10.wav &
else

if [ "$godzina" = "11:00" ]; then
    exec aplay /home/spook/cuckoo_11.wav &

fi
pyrion
Posty: 42
Rejestracja: 13 czerwca 2009, 12:04

Post autor: pyrion »

Zamiast instrukcji if użyj case.
spook
Posty: 15
Rejestracja: 21 października 2010, 10:06

Post autor: spook »

Witam. Niestety po wprowadzeniu zmian nadal otrzymywałem komunikat w kosoli:

Kod: Zaznacz cały

 spook@debian:~$ ~/.scripts/cuckoo.sh
/home/spook/.scripts/cuckoo.sh: line 15: błąd składni przy nieoczekiwanym znaczniku `then'
/home/spook/.scripts/cuckoo.sh: line 15: `   [ "$mins" = "00" ]; then' 
Zmodyfikowałem genialny w swojej prostocie skrypt wyszukany w google, który po małej modyfikowacji działa na moim systemie bez zarzutu :)

Kod: Zaznacz cały

 #!/bin/bash

# basic.sh - a talking clock using voice samples (basic version)
# more information available at http://www.jumpstation.co.uk/scripts/talkingclock/

hours=`date +"%-l"`
mins=`date +"%-M"`
# ampm=`date +"%-P"`

if [ "$mins" = "30" ]; then
aplay /home/spook/.sample/$mins.wav

else
aplay /home/spook/.sample/$hours.wav
fi


# aplay $ampm.wav 
ODPOWIEDZ