Δημοσιεύτηκε: 22 Ιούλ 2023, 15:08
Τελικά, βρήκα τον χρόνο και ασχολήθηκα λιγάκι, ώστε να γίνει το script του ράδιο,
αρκετά πιό ευπαρουσίαστο.
Τώρα τα μηνύματα όταν λείπει κάποια εξάρτηση δεν χάνονται στο υπερπέραν,
και το script δεν συνεχίζει ως το τέλος, αν δεν υπάρχουν οι εξαρτήσεις:
Επίσης το script τρέχει τώρα πλέον από τον εαυτό του, χωρίς να χρειάζεται να το κάνετε pipe εσείς.
Σας το παραθέτω:
Πως να το κάνετε δικό σας:
Κάνετε αντιγραφή τα περιεχόμενα του κώδικα, και επικόλληση σε ένα νέο αρχείο.
Παραδείγματος χάριν, /usr/local/bin/Radio
Κάνετε το νέο αρχείο Radio εκτελέσιμο:
Μετά, απλά τρέχετε το script
Όπως είπα και παραπάνω, αν τελικά το χρησιμοποιήσετε,
πείτε μας πόσους σταθμούς βγάζει στην περιοχή σας.
Καλές ακροάσεις!!!
αρκετά πιό ευπαρουσίαστο.
Τώρα τα μηνύματα όταν λείπει κάποια εξάρτηση δεν χάνονται στο υπερπέραν,
και το script δεν συνεχίζει ως το τέλος, αν δεν υπάρχουν οι εξαρτήσεις:
- Κώδικας: Επιλογή όλων
root@pi3b[~]# Radio
Please install mpv.
root@pi3b[~]#
Επίσης το script τρέχει τώρα πλέον από τον εαυτό του, χωρίς να χρειάζεται να το κάνετε pipe εσείς.
Σας το παραθέτω:
- Κώδικας: Επιλογή όλων
#!/bin/bash
if [ "$(which whiptail)" == "" ]
then
echo " Please install whiptail."
exit 1
fi
if [ "$(which mpv)" == "" ]
then
echo " Please install mpv."
exit 1
fi
if [ "$(which killall)" == "" ]
then
echo " Please install psmisc."
exit 1
fi
if [ "$(which wget)" == "" ]
then
echo " Please install wget."
exit 1
fi
if [ "$(wget -qO- 1.1.1.1)" == "" ]
then
echo " This script needs internet."
exit 1
fi
URL="http://opml.radiotime.com/Browse.ashx?c=local"
DATA="$(wget -qO- $URL | cut -f4,6 -d\" | grep 'Tune.ashx?id=' | sed "s/\&/\&/g" | sed "s/\'//g" | sed "s/ /_/g")"
NAME=($(echo "$DATA" | cut -f1 -d\"))
UURL=($(echo "$DATA" | cut -f2 -d\"))
X=0
RADIO () {
echo '#!/bin/bash'
echo 'while [ 1 ]'
echo 'do'
echo 'CHOICE=$('
echo 'whiptail --title "ΡΑΔΙΟΦΩΝΟ" --menu "Επέλεξε σταθμό:" --default-item "$CHOICE" 30 60 22 \'
for i in "${NAME[@]}"
do
echo "\"$X)\"" \"$(echo "${NAME[$X]}" | sed "s/_/ /g")\" "\\"
let X+=1
done
echo "\"$X)\"" "Κλείσιμο" "3>&2 2>&1 1>&3"
echo ")"
echo 'case $CHOICE in'
X=0
for i in "${UURL[@]}"
do
echo "\"$X)\")" "killall mpv 2>/dev/null ; mpv" ""${UURL[$X]}"" "&>/dev/null & ;;"
let X+=1
done
echo "\"$X)\")" "killall mpv 2>/dev/null ; exit ;;"
echo "esac"
echo "done"
}
RADIO | bash
Πως να το κάνετε δικό σας:
Κάνετε αντιγραφή τα περιεχόμενα του κώδικα, και επικόλληση σε ένα νέο αρχείο.
Παραδείγματος χάριν, /usr/local/bin/Radio
Κάνετε το νέο αρχείο Radio εκτελέσιμο:
- Κώδικας: Επιλογή όλων
chmod +x /usr/local/bin/Radio
Μετά, απλά τρέχετε το script
- Κώδικας: Επιλογή όλων
Radio
Όπως είπα και παραπάνω, αν τελικά το χρησιμοποιήσετε,
πείτε μας πόσους σταθμούς βγάζει στην περιοχή σας.
Καλές ακροάσεις!!!