czwartek, 10 czerwca 2010

Radio w konsoli skrypt / bash

Witam przedstawiam rozszezona wersje skryptu do sluchania radio w konsoli zainspirowany przez http://tomahawk.linuxpl.eu/?p=14


#!/bin/bash
#Skrypt ze stacjami radiowymi
#Do sluchnia potrzebny jest mplayer
#Wszystkie uwagi/prosby/pochwaly/mailbomby
#i inne takie słać na adres tomahawk47@gmail.com

# przyklad uzycia:
# $ radio
#
# lub jak znamy nazwe..
# $ radio luz

# wylaczenie radia:
# $ radio off

#############################
# TEST polaczenia i mplayera
#############################

if !find /usr/bin/mplayer >/dev/null 2>&1
then
echo "Szukanie Mplayer [Failed]"
echo "Zainstaluj Mplayera przed korzystaniem z tego skryptu"
exit
fi

if !ping -c 1 google.pl >/dev/null 2>&1
then
echo "Internet [Failed]"
echo "Brak polaczenia z internetem"
exit
fi

#############################
#Wybor radia
#############################

if [ $# -eq 0 ]
then
echo "Wybierz stacje:"
echo " 1. Radio TOK FM (alias: tokfm)"
echo " 2. Radio LUZ (alias:luz)"
echo " 3. Jedynka (alias: jedynka)"
echo " 4. Dwojka (alias: dwojka)"
echo " 5. Trojka (alias: trojka)"
echo " 6. Euro [dawniej bis] (alias: euro)"
echo " 7. Antyradio (alias: anty)"
echo " 8. Radio RAM (alias: ram)"
echo " 0. Wyłącz (aliasy: [off|wyl|wylacz])"
echo "Wpisz Alias lub numer radia które chcesz posłuchać"
read adres
else
adres=$1
fi

case $adres in
"1"|"tokfm" ) adres="http://olsztyn.radio.pionier.net.pl:8000/z/radiotok4.ogg";;
"2"|"luz" ) adres="http://radioluz.pwr.wroc.pl/listen.pls";;
"3"|"jedynka" ) adres="mms://stream.polskieradio.pl/program1";;
"4"|"dwojka" ) adres="mms://stream.polskieradio.pl/program2";;
"5"|"trojka" ) adres="mms://stream.polskieradio.pl/program3";;
"6"|"euro" ) adres="mms://stream.polskieradio.pl/program4";;
"7"|"anty" ) adres="http://213.251.138.121:7000/";;
"8"|"ram" ) adres="http://poznan5-1.radio.pionier.net.pl:8000/radioram.mp3";;
"0"|"off"|"wyl"|"wylacz" ) adres="off";;
* ) echo "Czego ty chcesz sluchac? Niema takiej stacji w mojej bazie";;

esac


if [ $adres == 'off' ] ; then
killall mplayer
else
echo Startuje radio $adres
mplayer "${adres}" >/dev/null 2>&1 &
fi

exit



Jak to ugryźć?

Zapisz skrypt w pliku radio.sh, powiedzmy w katalogu ze skryptami (ja mam ~/bin). Pozniej zmien prawa na wykonywalne
$ cd bin
wklej skrypt
$ radio.sh
$ chmod +x radio.sh
i uruchom
$ ./radio.sh
zobaczysz liste radii do wyboru. Jezeli chces odarzu sluchac swojej ulubionej stacji wpisz alias stacji po nazwie skryptu
$ ./radio luz

Troche liftingu.
Sprawdz jakie masz sciezki w ktorych mozesz wykonywac skrypty.
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

Do pliku ~/.bashrc dodaj swoja sciezke. Powiedzmy ze w katalogu domowym (~) masz swoj katalog bin ze skryptami
PATH=$PATH:
export PATH

Zapisz plik potem zamknij i otworz jeszcze raz konsole albo przeladuj ustawienia poleceniem
$ source ~/.bashrc

Sprawdz czy masz nowa sciezke..
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home//bin

I na koncu dodaj link symboliczny
$ cd ~/bin
$ ln -s radio.sh radio
$ ls -l
lrwxrwxrwx 1 sobi3ch sobi3ch 8 2010-06-10 14:21 radio -> radio.sh
-rwxr-xr-x 1 sobi3ch sobi3ch 2260 2010-06-10 14:48 radio.sh

Od teraz masz luz w jakimkolwiek katalogu bys nie byl ... ;)

$ radio luz