Visualizzazione post con etichetta SCripting. Mostra tutti i post
Visualizzazione post con etichetta SCripting. Mostra tutti i post

martedì 11 ottobre 2016

PWGEN, random password generator

Pwgen genera password casuali, senza significato ma pronunciabili. O quasi :)

Consente di creare password in vario modo, di diversa lunghezza e con un set di caratteri normale o con caratteri speciali.


Per installarlo

$ sudo apt-get install pwgen


Per creare una pw alfanumerica:

$ pwgen -s -1


Per creare una pw alfanumerica, con la scelta del numero di caratteri (nel nostro caso 12)

$ pwgen -s -1 12

Per creare una pw contenenti anche caratteri speciali.

$ pwgen -s -1 12 -y

Ora immaginiamo di avere su un file di testo (lista_utenti.txt) il nome di cinque utenti e di voler creare per ognuno di esso una pw, in un colpo solo.



#!/bin/bash
#name: creapw.sh

for i in $( cat lista_utenti.txt ); do

       pwgen -s -1 12 -y | sed "s/^/$i /" 

done

exit 0

Ecco il risultato.


Alla prossima!

sabato 31 ottobre 2015

Eliminare i file di una directory contenenti una parola determinata.

Salve!

Supponiamo che in una directory, ad esempio in Documenti, abbia tantissimi file di testo e che voglia eliminare solo quelli che contengono, nel testo e non nel titolo, una determinata parola, come fare? Se si vuole evitare di cercare prima la parola in ciascuno di esso e poi eliminarli, si può usare uno script facile facile. ;)

#!/bin/bash

read -p "Quale parola vuoi cercare? " stringa
for file in $(grep -l $stringa *); do
    rm -i $file;
done
exit 0

Ovviamente lo script, prima di eliminare un qualsiasi file, chiede il consenso. Nel mio caso ho eliminato tutti i file nel cui testo compariva la parola Fedora. (non ho niente contro Fedora, eh, è solo un esempio) ;)


Alla prossima! 

martedì 27 gennaio 2015

Quando un parametro speciale ti fa sentire meglio [bash]

Salve!

Come si dice, l'appetito vien mangiando. Vabbè, una cosa alla volta. Stasera, mentre scrivevo il mio "scriptino" quotidiano in bash, mi sono ritrovato di fronte ad una problematica apparentemente semplice. O forse era veramente semplice, ma sapete, sto invecchiando...

Comunque, immaginate di avere una variabile il cui valore sia costituito da tante stringhe, proprio come vi mostro nell'esempio sotto.

programmi="libreoffice vlc remmina liferea"

Bene, il discorso è questo, sto estrapolando da uno script lunghissimo, cerco di essere il più chiaro possibile, però.

In pratica voglio che lo script, ad un certo punto, controlli se nella variabile, di cui sopra, ci sia la stringa "libreoffice" e, solo se c'è, installi alcuni componenti aggiuntivi.

La domanda è la seguente: Come dobbiamo impostare il codice? Provate a dare una risposta senza leggere oltre.

Io ho fatto così:

programmi="libreoffice vlc remmina liferea"
echo "$programmi" | grep "libreoffice"
if [ $? -eq 0 ]; then
    apt-get install libreoffice-help-it libreoffice-l10n-it libreoffice-gtk -y
else
    echo "Niente da fare"
fi


La soluzione, in realtà, è veramente semplice, basta ricordarsi dell'esistenza del parametro speciale $?.

Cosa fa il $?

Restituisce lo stato dell’ultimo comando eseguito in foreground (primo piano).

Il risultato di $? può essere 0 o 1.

Restituisce 0 se è andato tutto bene, in caso contrario, restituisce 1.

Facciamo un esempio.

programmi="vlc remmina liferea"


Come potete vedere, ho eliminato la stringa "libreoffice" dalla variabile programmi. Il comando grep ovviamente non la trova e $? restituisce 1.



Se invece grep la trova, il $? restituisce 0, e dato che l'if confronta $? con lo 0, eseguirà il comando sperato.

Alla prossima!

mercoledì 14 gennaio 2015

Il Codice di Cesare [Brevi Esercizi]

Salve!

Uno degli esempi più significativi di crittografia a chiave simmetrica dell'età classica fu senza dubbio il cifrario di Cesare.

Come funziona codesto codice?

Si tratta di un cifrario a sostituzione monoalfabetica: Ogni lettera di una parola viene sostituita con un'altra in base ad una chiave.

Si dice che Cesare usasse come chiave K=3

Esempio:

Parola in chiaro: Luca
Parola cifrata: OAFD

Stabilito che la chiave è 3, la lettera L va sostituita con la lettera O, la lettera U con la lettera A, la lettera C va sostituita con la G e la lettera A con la lettera D.  Chiave 3 significa che bisogna contare tre posti in avanti nell'alfabeto (italiano, nell'esempio), a partire dalla lettera data, che va esclusa dal computo.

Ho creato uno script in bash, semplice semplice, che cifra e decifra in base al cifrario di Cesare. 

#!/bin/bash
#Cifrario di Cesare
#bit3lux@gmail.com

cifrare() {
#chiave=3
#Alfabeto di 26 lettere, senza spazi.
clear
alfabeto=$(echo {a..z} | sed 's/ //g')
k3="DEFGHIJKLMNOPQRSTUVWXYZABC"
read -p "digita il testo da cifrare: " testo
echo $testo | tr "[:upper:]" "[:lower:]" | tr "$alfabeto" "$k3"
}

decifrare() {
clear
alfabeto=$(echo {a..z} | sed 's/ //g') 
k3="DEFGHIJKLMNOPQRSTUVWXYZABC"
read -p "digita il testo da decifrare: " testo
echo $testo | tr "[:lower:]" "[:upper:]" | tr "$k3" "$alfabeto"
}

clear
echo "Per cifrare digita 0, per decifrare digita 1."
echo
read scelta

if [ $scelta == 0 ]
then
    cifrare
    echo

elif [ $scelta == 1 ]
then
    decifrare
    echo

else
    clear && echo "Opzione non valida, per scegliere digita 0 o 1"
    echo

fi

exit 0

Cifrare
Decifrare
Alla prossima!

venerdì 26 dicembre 2014

La tombola parlante

Nella tombola, un giocatore con ruolo di croupier ha a disposizione un tabellone sul quale sono riportati tutti i numeri da 1 a 90, e un sacchetto riempito con pezzi numerati. Il suo compito consiste nell'estrarre i pezzi in modo casuale, e annunciare agli altri giocatori il numero uscito.

Bene, lo script, appena abbozzato, non fa altro che estrarre i numeri in modo casuale e annunciarli. Per continuare con l'estrazione bisogna premere Invio, per uscire dallo script, Ctrl+C.

Installiamo alcune dipendenze:

$ sudo apt-get install toilet espeak sox

Create un documento di testo nella cartella Documenti, chiamatelo croupier.sh e incollateci il codice di cui sotto.

Poi dal terminale spostatevi nella directory Documenti

$ cd Documenti

rendete eseguibile lo script

$ chmod +x croupier.sh

e lanciatelo

$ ./croupier.sh

#!/bin/bash
#Bit3Lux
#tombola.sh

function numero(){
espeak -p 50 -s 180 --stdout -v it+f5 | play -t wav - \
overdrive 10 
}
a=`for i in {1..90}; do echo $i; done | shuf`
clear
for i in $a 
do
     toilet -f smmono12 $i  && echo $i | numero 
    echo -e "\v" "Premere invio per continuare, Ctrl+C per uscire dallo script"
    read
    echo ""
    clear
done
exit 0

Alla prossima!

domenica 23 novembre 2014

Se usi il mio pc, a me arriva una e-mail [Brevi Esercizi]

Salve!

Dopo molto tempo riprendiamo con la rubrica "Brevi Esercizi".  L'esempio di oggi è un classico: Voglio sapere, in tempo reale, se il mio coinquilino è così onesto da non usare il mio pc durante la mia assenza. Infatti può succedere che abbia salvato le password dei miei account nel browser, la prima cosa che mi viene in mente. Vabbè... chiaro, la password non si condivide, si potrebbe creare un altro utente...e via dicendo.

Comunque... le precauzioni sono sempre poche.

L'esperimento è stato eseguito su Lubit 4, non poteva essere diversamente.

L'idea è quella di essere avvisato in tempo reale mediante una e-mail, qualora qualcuno entri a mia insaputa nel mio pc.

Ho usato, per l'esercizio, l'account di gmail e il programma testuale mutt.

Installiamo mutt

sudo apt-get install mutt

Settiamo il file di configurazione di mutt

nano ~/.muttrc

Incolliamo in nano il seguente testo, magari in sostituzione a quello che troviamo, qualora ci fosse.

# SMTP SETTINGS
set smtp_url = "smtp://NomeEmail@smtp.gmail.com:587/"
set smtp_pass = "password-account-gmail"


Salviamo e chiudiamo il documento. Nell'ordine:

ctrl + o

Invio

ctrl + x

Importante: 
  • Inserire nel file di configurazione il proprio indirizzo email, lasciando inalterata la voce smtp.
  • inserire la password del proprio account gmail

Creiamo un piccolo script nella directory /usr/local/bin/Script

$ sudo su

# nano /usr/local/bin/Script/Avviso

Incolliamoci dentro

#!/bin/bash
avviso="$USER, qualcuno sta usando il tuo pc"
echo $avviso | mutt -s "AVVISO" tuaemail@gmail.com
exit 0


Salviamo e chiudiamo il documento:

ctrl + o

Invio

ctrl + x

Importante: nello script aggiungere l'indirizzo presso cui vuole essere recapitato il messaggio.

Rendiamo lo script eseguibile

# chmod +x /usr/local/bin/Script/Avviso

Non resta che aggiornare il file autostart.sh

# nano /usr/local/bin/autostart.sh

E, prima di "exit 0", aggiungiamo

sleep 20 && /usr/local/bin/Script/Avviso

Salviamo e chiudiamo il documento

ctrl + o

Invio

ctrl + x

# exit

Ora, per fare una prova, usciamo da openbox

$ openbox --exit

Una volta loggatoci, aspettiamo 20 secondi, e dovrebbe arrivare l'email al nostro indirizzo di posta elettronica.

Onde evitare che ad ogni avvio ci arrivi una e-mail, disabilitiamo lo script

$ sudo su
# nano /usr/local/bin/autostart.sh

Non resta che aggiungere un cancelletto davanti alla riga precedentemente aggiunta:

# sleep 20 && /usr/local/bin/Script/Avviso

Salviamo e chiudiamo il file

 ctrl + o

Invio

ctrl + x

# exit

Alla prossima! 

martedì 15 luglio 2014

In vacanza con bash

Vabbè, un titolo di consolazione. Quest'anno niente vacanze. E allora mi illudo di partire. Con il treno.

Per andare in vancanza con bash, anzitutto bisogna installare due piccoli pacchetti.

$ sudo apt-get install sl figlet

Non vi resta che eseguire lo script. E buon viaggio!

Salvatelo in un file di testo, vacanza.sh, e rendetelo eseguibile:

$ chmod +x vacanza.sh

non vi resta che eseguirlo

$ ./vacanza.sh

#!/bin/bash

fine() {
 testo="By Bit3Lux The End"
 for i in $testo; do 
     figlet -ct "$i"
     sleep 1
     clear 
 done
 exit 0
}
count=5
 while [ $count -ge 0 ]; do 
     clear 
     figlet -ctf shadow $count
     let count-=1 
     sleep 1 
 done
clear
read -p "Premi invio per far partire il treno. " 
partenza=0
while [ $partenza -le 6 ] ; do 
      clear;  
      sl -alFe; 
      clear
      let partenza+=1
      if [ "$partenza" -eq 5 ]; then
          read -p "premi 1 se vuoi continuare, premi 2 se ti vuoi fermare: " continuo
          if [ $continuo -eq 1  ]; then
              partenza=0
          else
             clear
             fine
          fi
      fi
done

Cosa fa lo script:
  1. Inizia con un countdown.
  2. Vi chiede di far partire il treno
  3. Ogni viaggio dura 5/6 secondi
  4. Vi chiede se volete fermarvi o continuare il viaggio
  5. Saluti finali.

Alla prossima! ;)

martedì 24 giugno 2014

Script con password

Salve!

È da mesi ormai che lavoro ad un programma. Presto ve ne parlerò. Promesso.

Stanotte, come diversivo, ho voluto abbozzare l'idea di come si potrebbe inserire la password all'interno di uno script. Mi spiego meglio.

Supponete di creare uno script che accede ad un database per manipolarlo, l'ideale sarebbe che lo stesso script vi chieda anche una password prima di potervi accedere.

Lo script che vi sto per presentare vi chiede, per una sola volta, di creare una password, che viene salvata in un file di testo. Certo, poi questo file andrebbe criptato, lo capisco bene.

Poi vi chiede di ridigitare la password, che viene confrontata con quella salvata nel file di testo. Solo se le due password corrispondono, l'accesso all'ipotetico database sarà consentito. La seconda volta che sarà avviato lo script, a meno che non sia stato cancellato il file con la password, vi sarà chiesto di digitare la password una sola volta.

Salvate lo script, pass.sh, nella cartella Documenti e rendetelo eseguibile.

#!/bin/bash
#Luigi Iannoccaro (Bit3Lux)
#Pass.sh

passkr=~/Documenti/pass.txt

if [ ! -f $passkr ]; then
     
     #read -p "crea la tua password: " tua_password
     tua_password=$(zenity --title="Crea la password" --password)
     echo $tua_password > $passkr 

fi

tua_pass=$(cat $passkr)
pass=0

while [ "$tua_pass" != "$pass" ]; do
     clear
     
     #read -p "Digita la tua password: " pass
     pass=$(zenity --title="Digita la password" --password)

     if [ $? -eq 1 ]; then

          exit 1 

     elif [ "$tua_pass" != "$pass" ]; then 
          #echo "Accesso al programma negato, digita la password in modo corretto."

            zenity --info \
                   --width=300 \
                   --height=130 \
                   --title="Informazione" \
                   --text="Accesso Negato! Digita la password in modo corretto."

     elif [ "$tua_pass" == "$pass" ]; then
           #echo "Accesso consentito." 

            zenity --info \
                   --width=300 \
                   --height=130 \
                   --title="Informazione" \
                   --text="Accesso Consentito"    

     fi
done

exit 0


Alla prossima! ;)

lunedì 19 maggio 2014

Un esempio di gioco a punti e a risposte temporizzate

Salve!

Oggi vi presento un esempio di gioco a punti e a risposte temporizzate, scritto in bash.

Lo script l'ho realizzato alle tre di notte, su richiesta di un mio amico nottambulo in cambio di... Vabbè, Ciro mi ha promesso che per colazione mi avrebbe portato un vassoio di paste, ecco.

La notte è stata già parecchio movimentata. Stamattina devo mietere l'erba intorno alla casa, e il decespugliatore non ne voleva sapere. L'ho dovuto riparare. Abito in campagna, e l'erba alta diventa un pericolo per via delle vipere. Vabbè, mi sto lamentando troppo.

Penso che lo script sia abbastanza chiaro. Ho tirato fuori dal cappello magico una preziosa opzione del comando read, -t, che temporizza la risposta in base al tempo passatogli attraverso una variabile.

Nella funzione "elaborazione", tra gli if, ci sono dei contatori di punteggio. Ad ogni risposta esatta vengono assegnati 5 punti, a quelle sbagliate o fuori tempo, 0 punti.

Un'altra nota di rilievo è costituita dal comando grep -i, che rende la ricerca case-insensitive, cioè quando la ricerca di una parola dà risultati identici indipendentemente dal fatto che sia scritta con caratteri maiuscoli o minuscoli.

Poi ci sarebbe il parametro speciale $?, che restituisce lo stato dell'ultimo comando eseguito. Se restituisce il valore 0, è andato tutto bene, se restituisce il valore uno, cavoli amari.

Bisogna essere veloci a dare, di volta in volta, le risposte. Solo 4 secondi.

Avrei potuto perfezionarlo, aggiungere altre domande, magari renderlo più snello...lascio a voi, qualora vi piaccia, l'arduo compito.

Non esitate a chiedere chiarimenti, a suggerire consigli o a esternare perplessità. ;)

#!/bin/bash
#Un esempio di gioco a punti e a risposta temporizzata!
#gioco.sh
#Bit3Lux

successo=0 #Il valore con cui si confronterà il parametro speciale $?
punti=0 #contantore punti
tempo=4 #Il tempo di risposta (quattro secondi).

function elaborazione(){   

   if [ "$?" -eq $successo ]; then

       echo -e "\n\tBravo!\n\tHai risposto in tempo e il nome della capitale è giusto\n"
       punti=$[$punti+5]

    elif [ -z $capitale ]; then

       echo -e "\n\tNon hai risposto in tempo\n."
       punti=$[$punti+0]
    else

       echo -e "\n\til nome della capitale è sbagliato\n"
       punti=$[$punti+0]
    fi
    
    sleep 3
 }

#Prima domanda
echo 

read -t $tempo -p "Qual è la capitale della Francia? " capitale

clear

echo -n "$capitale" | grep -i "Parigi"

elaborazione

clear

#Seconda domanda
echo

read -t $tempo -p "Qual è la capitale della Spagna? " capitale #l'opzione -t di read temporizza la risposta.

clear

echo -n "$capitale" | grep -i "Madrid"

elaborazione

clear

#Terza domanda
echo

read -t $tempo -p "Qual è la capitale del Portogallo? " capitale

clear

echo -n "$capitale" | grep -i "Lisbona"

elaborazione

clear

#Quarta domanda
echo

read -t $tempo -p "Qual è la capitale della Germania? " capitale

clear

echo -n "$capitale" | grep -i "Berlino"

elaborazione

clear

#Punteggio finale
if [ $punti -eq 0 ]; then
        
          echo -e "\n\tSarà il caso di ritornare a studiare, non pensi? :)\n"

elif [ $punti -eq 20 ]; then

         echo -e "\n\tCaro $USER, hai totalizzato il massimo dei punti!!! Bravo/a!!\n"

else

         echo  -e "\n\tCaro $USER,\n\thai totalizzato $punti punti su 20\n!"
fi

exit 0

Posto che salviate lo script nella cartella Documenti,

$ cd Documenti

$ chmod +x gioco.sh

$ ./gioco.sh

P.S.

Vi ricordo che da una decina di giorni è online Lubit 3!!! Qualora vogliate scaricarla, qui la presentazione, qui la pagina di download, qui il sito ufficiale.

Da non molto tempo abbiamo creato anche una pagina facebook di Lubit Linux. Sulla pagina facebook vengono riportate tutte le notizie afferenti a lubit, al suo sviluppo, alla sua associazione, "Amici di Lubit", ai suoi sviluppatori, etc.

Alla prossima!

venerdì 10 gennaio 2014

Lo script radio.sh si aggiorna.

Salve!

Radio.sh è uno script che permette di gestire ed ascoltare le stazioni radio in streaming su Lubit.

Quello che vi stiamo presentando oggi è la versione 2 del "programma"; infatti sono state accolte le richieste di alcuni lettori.

In questa seconda versione sono state aggiunte nuove stazioni e, inoltre, quando si preme INVIO, non si esce più dallo script, come succedeva nella versione 1, ma si ritorna alla schermata principale.

Per quanto riguarda l'integrazione di "Radio v. 2.0" nel menu di Lubit, vi rimando al post precedente. Qui.

#!/bin/bash
#Radio.sh versione 2.0
#Bit&Squit ;)

function avviso(){
            clear
            echo -e "\nPer ritornare alla schermata principale premere INVIO\n"
            sleep 2
  }

#Rtl [1]
Stazione1="http://shoutcast.rtl.it:3010/" 
#Radio Deejay [2]
Stazione2="http://mp3.kataweb.it:8000/RadioDeejay" 
#Radio Kiss Kiss [3]
Stazione3="http://wma08.fluidstream.net:4610/" 
#Radio RDS [4]
Stazione4="http://www.rds.it:8000/stream" 
#Radio Capital [5]
Stazione5="mms://wm.streaming.kataweb.it/reflector:44434"
#Radio latte e miele [6]
Stazione6="mms://onair4.xdevel.com/LatteMiele"
#Radio 105 [7]
Stazione7="http://shoutcast.unitedradio.it:1101"
#RMC[8]
Stazione8="http://shoutcast.unitedradio.it:1103"

PLAYER=$(which mplayer 2>/dev/null)
opzione=0
uscita=9
 

while [ $opzione -ne $uscita ];do   

           opzione=$(zenity --title="Radio v. 2.0" \
                     --width=340 \
                     --height=315 \
                     --list --radiolist \
                     --text 'Seleziona una stazione' \
                     --column 'Seleziona' \
                     --column 'Menu' --column "Radio" FALSE "1" "RTL" FALSE "2" "Radio Deejay" FALSE "3" "Radio Kiss Kiss" \
                          FALSE "4" "RDS" FALSE "5" "Radio Capital" FALSE "6" "Radio latte e miele" \
                          FALSE "7" "Radio 105" FALSE "8" "RMC" FALSE "9" "Esci dal programma") 


          if [[ $opzione -ge 1 && $opzione -le 9 ]]; then 


                      case $opzione in
                          1)
                             avviso
                            "$PLAYER" 2>/dev/null "$Stazione1" ;;
                          2)
                             avviso
                            "$PLAYER" 2>/dev/null "$Stazione2" ;;
                          3)
                            avviso
                            "$PLAYER" 2>/dev/null "$Stazione3" ;;
                          4)
                            avviso
                           "$PLAYER" 2>/dev/null "$Stazione4" ;;
                          5)
                            avviso
                            "$PLAYER" 2>/dev/null "$Stazione5" ;;
                          6)
                            avviso
                           "$PLAYER" 2>/dev/null "$Stazione6" ;;
                          7)
                            avviso
                            "$PLAYER" 2>/dev/null "$Stazione7" ;;
                          8)
                            avviso
                            "$PLAYER" 2>/dev/null "$Stazione8" ;;
                          9)
                              clear
                              exit 0 ;;
               

                   esac
    
       else
            clear
            opzione=9
            echo -e "\nNon è stata trovata alcuna stazione.\n"
      fi

done

Alla prossima :)

mercoledì 25 dicembre 2013

L'albero di Natale. Il primo per Lubit.

Ecco, anche noi del Lubit Project abbiamo fatto il nostro albero di natale. Non poteva essere che uno script in bash! :)

Eccolo!




#!/bin/bash
 
function uno() {
echo ' 
           *
          / \
         / . \  
        /. :  \
       /_ .  ._\
      / . . .   \
     / . . . . . \    
    / .  . . .    \
   / . .  .  . :   \
  /  . . .LUBIT . . \
 / .  . . . . . . . .\    
/___ :  . . . . . .___\
     /  :  . : . \
    ----------------          
          /  \
    .--.
   |o_o |
   |:◡/ |
  //   \ \
(|      | )
/ \_   _/ \
\___)=(___/   
'
}
 
 
function due() {
echo '
       
           *
          / \
         / * \  
        /* + *\
       /* * * +\
      / + * + * \
     /+ * * * + *\    
    / # # # * + * \
   / **LINUX * +*  \
  / * + * * * + * # \
 / #####******###### \    
/___                __\
     /  :  . : . \
    ----------------          
          /  \            
    .--.
   |o_+ |
   |:_/ |
  //   \ \
 (|  ♡   | )
/ \_   _/ \
\___)=(___/ 
'
}

i=1;
until [ $i -gt 10 ]; do 
          due
          sleep 1
          clear
          uno
          sleep 1
          clear
          i=$((i+1)) 
done

$ chmod +x albero.sh
$ ./albero.sh

Vi consigliamo di lanciare lo script sul terminal 1 di Lubit. ;)

 Auguri di buone feste a tutti!!



Ciao!


domenica 22 dicembre 2013

Ascoltare la radio con Lubit

Quello che stiamo per presentarvi è un piccolo script che vi permette di ascoltare la radio in streaming con lubit in maniera veramente semplice.

Lo script, una volta lanciato, apre una finestra da cui poter scegliere la stazione radio preferita.


Ovviamente è possibile aggiungere tutte le radio che volete, basta modificare lo script.

#!/bin/bash

#Bit&Squit ;)

#Rtl [1]
Stazione1="http://shoutcast.rtl.it:3010/" 
#Radio Deejay [2]
Stazione2="http://mp3.kataweb.it:8000/RadioDeejay" 
#Radio Kiss Kiss [3]
Stazione3="http://wma08.fluidstream.net:4610/" 
#Radio RDS [4]
Stazione4="http://www.rds.it:8000/stream" 
#Radio Capital [5]
Stazione5="mms://wm.streaming.kataweb.it/reflector:44434"
#Radio latte e miele [6]
Stazione6="mms://onair4.xdevel.com/LatteMiele"

PLAYER=$(which mplayer 2>/dev/null)
clear
Stazione=$(zenity --height=300 --list --radiolist --text 'Seleziona una stazione:' --column 'Select...' --column 'Nome Radio' FALSE "RTL" FALSE "Radio Deejay" FALSE "Radio Kiss Kiss" FALSE "RDS" FALSE "Radio Capital" FALSE "Radio latte e miele")
echo ""
echo "La stazione scelta è: $Stazione. Per chiudere la radio premere INVIO"
echo "" && sleep 4


case $Stazione in
    "RTL")
        printf "Rtl "
        "$PLAYER" 2>/dev/null "$Stazione1" ;;
    "Radio Deejay")
        printf "Radio Deejay "
        "$PLAYER" 2>/dev/null "$Stazione2" ;;
    "Radio Kiss Kiss")
        printf "Radio Latte e Miele"
        "$PLAYER" 2>/dev/null "$Stazione3" ;;
    "RDS")
        printf "RDS "
        "$PLAYER" 2>/dev/null "$Stazione4" ;;
    "Radio Capital")
        printf "Radio Capital "
        "$PLAYER" 2>/dev/null "$Stazione5" ;;
    "Radio latte e miele")
        printf "Radio latte e miele "
        "$PLAYER" 2>/dev/null "$Stazione6" ;;
    *)
        printf "Non è stata trovata alcuna stazione.\n" ;;
esac

exit 0


Salvate lo script nella vostra home e nominatelo radio.sh

Per testarlo aprite un terminale e digitate

$ bash radio.sh

Se funziona, non ci resta che aggiungerlo nel menu.

Menu/Accessori/Tools



In Label scrivete Radio
In Execute, x-terminal-emulator -e bash radio.sh  

                                                     
Auguri di buone feste a tutti dal Lubit Project!


Alla prossima! :)

martedì 12 novembre 2013

Giocare a tombola con bash

Dalle mie parti hanno incominciato a giocare a Tombola.

Infatti mi ha chiamato Ciro, tutto allarmato, chè non riusciva a trovare il sacchetto coi numeri.


Alla fine abbiamo risolto con uno script abbozzato nel giro di poco tempo. Se avete un'idea migliore da proporre, non fatevi scrupoli.

#!/bin/bash

a=`for i in {1..90}; do echo $i; done | shuf`
clear
for i in $a 
do
    echo -e "\v\t" $i
    echo -e "\v" "Premere invio per continuare, Ctrl+C per uscire dallo script"
    read
    echo ""
    clear
done
exit 0
Posto che avete salvato lo script, "tombola.sh", nella directory Scaricati,

$ cd Scaricati

$ chmod +x tombola.sh

$ ./tombola.sh

Alla prossima

martedì 6 agosto 2013

Facciamo parlare Lubit!

Salve!

Vi propongo uno script semplice semplice che permette a Lubit di parlare, di salutarvi tutte le volte che accendete il pc. Infatti, a seconda dell'ora, vi dirà buongiorno, buon pomeriggio, buonasera o buonanotte. :)
Ho scelto una voce femminile, un po' robotica, ma nel complesso piacevole. :)

Anzitutto vanno installati alcuni pacchetti: espeak e sox, perciò

$ sudo apt-get install espeak sox

Poi copiate il seguente script su un file di testo e nominatelo lubit.sh

#!/bin/bash
#Bit3Lux
##Saluto

function lubit(){
espeak -p 50 -s 180 --stdout -v it+f5 | play -t wav - \
overdrive 10 
echo 0.8 0.8 5 0.7 \
echo 0.8 0.7 6 0.7 \
echo 0.8 0.7 10 0.7 \
gain 8
}
HOUR=`date +%H` 

case $HOUR in

    00|01|02|03|04)
               `echo "Buonanotte, $USER" | lubit`
    ;;
    05|06|07|08|09|10|11|12)
               `echo "Buongiorno, $USER" | lubit`
    ;;

    13|14|15|16|17|18)
              `echo "Buon pomeriggio, $USER" | lubit`
    ;;
    19|20|21|22|23) 
              `echo "Buonasera, $USER" | lubit`
    ;;

esac

exit 0

Posto che vi troviate nella vostra home, ora bisogna spostare il file contenente lo script nella directory /usr/local/bin

$ sudo mv lubit.sh /usr/local/bin

Bisognerà renderlo eseguibile

$ sudo chmod +x /usr/local/bin/lubit.sh

Aggiungiamo, infine, lo script in autostart.sh, perchè possa essere eseguito all'avvio.

$ sudo leafpad /usr/local/bin/autostart.sh

Nel documento che si apre, aggiungete in fondo questa riga:

sleep 4 && bash /usr/local/bin/lubit.sh

Salvate e chiudete.

Spero vi piaccia.

Alla prossima!

sabato 29 dicembre 2012

Uno script per accordare la chitarra

Salve!

Ho messo mano a un mio vecchio script per accordare la chitarra. Penso di averlo migliorato un po'. Tuttavia, se doveste riscontrare delle imperfezioni, fatemelo sapere.

Ovviamente, se non lo avete già fatto, dovete installare sox

sabato 15 dicembre 2012

Etichettare foto o giù di lì

Salve!

Ho creato uno script in bash, semplice semplice, il cui compito è quello di scrivere una riga di testo in fondo a una foto. Non a una foto soltanto, ma a centinaia, migliaia in un colpo solo.

mercoledì 21 novembre 2012

Brevi Esercizi #6 Countdown con Python ed AWK

Ciao!

Tempo fa avevo creato uno script in bash il cui compito era quello di fare il countdown nel terminale. Lo script in questione lo trovate qui.

Stamattina, invece, ho provato a fare la stessa cosa con Python ed AWK. Statene certi, per AWK è una cosa insolita. Diciamo che sono stato io ad usare questo linguaggio in un modo non consono allo scopo per cui è stato creato. Pazienza! I signori A., W. e K. mi perdoneranno...

sabato 20 ottobre 2012

Svuotacache o qualcosa del genere.

Ciao!

Ho creato uno script semplice semplice per eliminare i file dei pacchetti contenuti nell'archivio locale di apt. In pratica lo script non fa altro che, come diciamo semplicisticamente, "svuotare la cache di apt dai file setup". A dire il vero quando sento nominare i file setup, tremo un po', non so perchè.

sabato 29 settembre 2012

File con il nome in maiuscolo e senza underscore

Salve!

Può succedere di scaricare da internet file il cui nome è in maiuscolo e senza underscore.

Ad esempio:


mercoledì 26 settembre 2012

Da .MP3 a .mp3

Salve!

Ogni tanto ritorno. E ritorno per raccontarvi di un problema di poco conto. Forse.
Avevo alcuni  file MP3 con le estensioni in maiuscolo. Per convertirle in minuscolo in un solo colpo, ho creato un piccolo e semplice script.