Evo ja cu da prvim pocnem. Nocas sam napravio skriptu koja izabere odredjeni broj pjesama iz nekih foldera. I onda ih pusti nekim media plejr programom kao mplayer. Od znacajnijih opcija ima da ugasi racunar posle slusanja ili da kreira ram disk i u njih stavi pjesme(za one koji imaju bucan HDD). Ako imate folder od 400 pjesama program moze da izabere 15 pjesama, pusti ih da otpjevaju, i ugasi komp dok ste vi vec zaspali u krevetu :D . Skripta isto tako pretrazuje podfoldere. I na kraju evo koda:
Code:
#!/bin/bash
## FUNKCIJE
pomoc () {
echo 'KORISTITE [-h] [-t dir] [-r] [-d] [-e command] [-g] [-s] [-b n] DIREKTORIJUM(I)'
echo '-h Ispisuje ovu pomoc'
echo '-t dir kreira se temp direktorijum gde da se smjeste fajlove ako se ne navede onda "tmp-muzika"'
echo '-r pravi ram disk i u njih smjesta fajlove, potrebno biti u sudo listi ili biti root'
echo '-d ne brise temp dir nakon zavrsetka slusanja muzika'
echo '-e command koristi externu komandu za pustanje pjesama, ako se nenavede koristi programe mplayer, mpg321 i mpg123'
echo '-g gasi racunar posle zavrsetka slusanja, potrebno biti u sudo listi ili root'
echo '-s bira pjesme na tenade :) , nema ucinka ako se koristi sa -e'
echo '-b n Koliko pjesama da izabere i stavi u tmp direktorijum, podrazumjevano 10'
exit 1
}
## END
## UZIMANJE ARGUMENATA
# ZA ISPISIVANJE POMOCI
if [ $# -eq 0 ]
then
pomoc
fi
if [ $1 = -h ]; then
pomoc; fi
# ISPITIVANJE OSTALIH ARGUMENATA
# POSTAVLJANJE DEFAULT VRIJEDNOSTI
tmp_muzike=tmp-muzika
ram_disk=0 # NEPRAVI SE RAM DISK
ne_brisi=0 # BRISE FAJLOVE POSLE SLUSANJA
komanda=DEF # NIJE NAVEDENA EKSTERNA KOMANDA KORESTE SE DEFAUL
gasi=0 # NE GASI POZAR POSLE MUZIKE :)
tenade=0 # NE PEVA NA TENADE KAKO KAZE MOJA BABA :D
broj=10 # BIRA 10 PESAMA OD FRLJUCKE xD
#TRAZI ARGUMENTE KOJI SU ZADATI
brojac=1
brarg=$#
while [ $brojac -le $brarg ]
do
if [ $1 = -t ]; then
tmp_muzike=$2
shift; shift; brojac=`expr $brojac + 1`
elif [ $1 = -r ]; then
ram_disk=1
shift
elif [ $1 = -d ]; then
ne_brisi=1
shift
elif [ $1 = -e ]; then
komanda=$2
shift; shift; brojac=`expr $brojac + 1`
elif [ $1 = -g ]; then
gasi=1
shift
elif [ $1 = -s ]; then
tenade=1
shift
elif [ $1 = -b ]; then
broj=$2
shift; shift; brojac=`expr $brojac + 1`
fi
brojac=`expr $brojac + 1`
done
## END
## NASUMICNO BIRANJE LISTE PJESAMA
mkdir $tmp_muzike # KREIRANJE DIR-A
if [ $ram_disk -eq 1 ]; then # PRAVLJENJE RAM DISKA
sudo mke2fs /dev/ram0
sudo mount /dev/ram0 $tmp_muzike
sudo chmod -R 777 $tmp_muzike
fi
br_pesama=`find "$@" -name '*.mp3' | wc -l`; br_pesama=`expr $br_pesama - 1`
for i in `seq 1 $broj`
do
br=$[ $RANDOM % $br_pesama + 1 ]
pesma=`find "$@" -name '*.mp3' | sed -n "$br p"` ; cp "$pesma" $tmp_muzike
done
## END
## PUSTANJE MUZIKE [GASENJE KOMPA] [I OSLOBADJANJE RESURSA]
#PUSTANJE PJESAMA
if [ $komanda = DEF ]; then
if [ $tenade -eq 0 ]; then
mplayer $tmp_muzike/*
if [ `echo $?` -eq 127 ]; then
mpg321 $tmp_muzike/*; fi
if [ `echo $?` -eq 127 ]; then
mpg123 $tmp_muzike/*; fi
elif [ $tenade -eq 1 ]; then
mplayer -shuffle $tmp_muzike/*
if [ `echo $?` -eq 127 ]; then
mpg321 -z $tmp_muzike/*; fi
if [ `echo $?` -eq 127 ]; then
mpg123 -z $tmp_muzike/*; fi
fi
else
$komanda tmp_muzike/* # Pokrece ekternu komandu
fi
#POSPREMANJE TEMP DIREKTORIJUMA
if [ $ne_brisi -eq 0 ]; then
rm -r $tmp_muzike/*
echo "Brisanje temp direktorijuma..."
if [ $ram_disk -eq 1 ]; then
echo "Razmontiranje /dev/ram0"
sudo umount /dev/ram0; fi
rmdir $tmp_mmuzike
fi
# GASENJE RACUNARA
if [ $gasi -eq 1 ]; then
echo "Gasenje racunara"
sleep 3
sudo halt; fi
## END
exit 0
Primjeri: .mjuza.sh /Muzika
./mjuza.sh -r -g -s -t mjuza /Music/Bijelo\ Dugme /Muzika/RibljaCorba Divlje_Jagode/
Dođite na
http://www.yoyogames.com/games/show/74141 i pogledajte moje igrice i isto tako ocjenite ;)