Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Script Bash

  1. #1
    Utente di HTML.it L'avatar di RokStar
    Registrato dal
    Dec 2001
    Messaggi
    937

    Script Bash

    Dunque, per comodità mi sono scritto uno scriptino in bash per aprire con mplayer le radio che fanno streaming su internet.

    Nel caso serva a qualcuno, sia come esempio di script semplice (e soprattutto scritto da chi NON CONOSCE bash) o per usarlo, posto il contenuto dei 3 files che fanno funzionare questa cosa.

    lista_radio.txt
    codice:
    [0]="Radio 105"
    [1]="Radio 24"
    [2]="Radio Capital"
    [3]="Radio 101"
    [4]="Radio Cuore"
    [5]="Radio Donna"
    [6]="Radio Italia Network"
    [7]="Radio Italia Solo Musica Italiana"
    [8]="Radio Kiss Kiss Network"
    [9]="Radio Margherita"
    [10]="Radio Montecarlo"
    [11]="Radio Popolare"
    [12]="Radio2 Rai"
    [13]="Radio1 Rai"
    [14]="Radio3 Rai"
    [15]="RTL 102.5"
    lista_radio2.txt
    codice:
    [0]="mms://live.wm9.p1.str3.com/rd105"
    [1]="mms://videosrv.netscalibur.it/wmtencoder/radio24"
    [2]="http://media.kataweb.it/mibgetpointer.aspx?LIVE=6"
    [3]="mms://streaming.radio101.it/radio101/"
    [4]="http://www.radiocuore.it/radiocuore.asx"
    [5]="http://www.radiodonna.it/radiolive/rdlive.asx"
    [6]="mms://wmedia.rin.it/rin"
    [7]="mms://radioitalia.wm.p1.str3.com/rditaliahq"
    [8]="http://www.kisskissnetwork.it/radiokk.asx"
    [9]="http://www.radiomargherita.com/live/radiomargherita.asx"
    [10]="http://www.radiomontecarlo.net/rmc_fastweb.asx"
    [11]="http://www.radiopopolare.it/live.asx"
    [12]="http://www.radio.rai.it/player/radio2.rpm"
    [13]="http://www.radio.rai.it/player/radio1.rpm"
    [14]="http://www.radio.rai.it/player/radio3.rpm"
    [15]="http://www.rtl.it/mediaplayer/plus_tmp.asx"
    radios.sh
    codice:
    #! /bin/bash
    
    programma=mplayer
    file_radio=lista_radio2.txt
    file_nomi=lista_radio.txt
    declare -a radios2=( `cat $file_nomi`)
    declare -a radios=( `cat $file_radio`)
    
    if [ -z "${radios[$1]}" ] #questo controllo a dire il vero funziona solo se si inserisce
    			  # un numero maggiore dell'ultimo indice a disposizione
    			  # se si mette una lettera suona l'ultimo elemento dell'array
    			  # si vede che non conosco bash :P
    then
    	echo "$1 non e' presente nella lista delle radio disponibili"
    	echo "le radio disponibili sono ${#radios2[@]}"
    	for (( x=0; x <= ${#radios2[@]}; ++x ))
    	do
    		echo "$x ${radios2[$x]}"
    	done
    else
    	$programma ${radios[$1]}
    fi
    Non ho provato tutte le radio, l'ultimo file deve essere +x
    L'utilizzo è .radios.sh numero_radio

    Se è contro il regolamento postare script siete liberi di cancellare il thread, non ho trovato niente a riguardo ma non si sa mai.


  2. #2
    Un'idea per migliorarlo!

    codice:
    #!/bin/bash
    # Ascolta la radio selezionata
    
    DIALOG=dialog
    RADIOLIST=lista_radio.txt
    AUDIOPLAYER=xmms
    
    backtitle="Radio in streaming"
    
    function show_list(){
    
            lista=$($DIALOG --stdout --backtitle "$backtitle" \
            --menu "Scegli la radio" 0 0 0 `awk -F:: '{print $1, $2 }' < $RADIOLIST`)
    
            if [ $? == 0 ]; then
                    myradio=`cat $RADIOLIST | awk -v VAR=$lista -F:: ' ($1==VAR) { print $3 } '`
            else
                    echo "Spiacente: si sono verificati degli errori"
                    exit 0
            fi
    }
    
    function add_radio(){
            nomeradio=$($DIALOG --stdout --backtitle "$backtitle" \
                    --inputbox "Nome della radio" 0 0)
    
            nomeradio=`echo $nomeradio | sed -e s/\ /_/g`
    
            urlradio=$($DIALOG --stdout --backtitle "$backtitle" \
                    --inputbox "Url della radio" 0 0)
    
            lastid=`tail -1 $RADIOLIST | awk -F:: '{ print $1 }'`
    
            newid=$(($lastid+1))
    
            echo -e "$newid::$nomeradio::$urlradio" >> $RADIOLIST
    
            $DIALOG --stdout --backtitle "$backtitle" --msgbox "Radio aggiunta!" 0 0
    
            }
    
    frontmenu=$($DIALOG --stdout --backtitle "$backtitle" --menu "Scegli..." 0 0 0 \
            "1" "Ascolta una radio" "2" "Aggiungi una radio")
    
            while : ; do
    
            [ $? -ne 0 ] && break
    
                    case "$frontmenu" in
                            1) show_list ;;
                            2) add_radio ;;
                    esac
    
            done
    
    echo "Grazie per aver usato $backtitle"
    Are you alive?
    No, but I was written with LOVE. A new scripting language.
    www.frequenze.it

  3. #3
    Ho inviato un po' troppo presto! Praticamente il file di input e'

    id::nome_radio::url_streaming

    l'ho scritto molto in fretta, per modificarlo e correggere gli errori ti consiglio di guardare il mio script
    http://www.frequenze.it/source/journal/
    Are you alive?
    No, but I was written with LOVE. A new scripting language.
    www.frequenze.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.