Untitled Document
mIRC in Italiano - Script - Forum - Imposta come Home Page - Aggiungi ai Preferiti - Home - Chat
Utenti connessi: - Visitatori oggi: - Visitatori totali: - Pagine viste oggi:


NewsLetter


localinux
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
----

-
----
-
-
-
-
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----

----
Un vestito per gli script di shell

di Francesco Celebrini

Dialog/Xdialog, due strumenti che dotano gli script di un vestitino, ovvero di una GUI seppur semplice. Vediamoli insieme ad alcuni esempi.

Da alcuni elevato a forma d'arte, da altri considerato un "semplice linguaggio di scripting", loscripting della shell di Linux rimane comunque, da qualsiasi lato lo si guardi, uno strumento potente e indispensabile per l'amministratore di sistema e per l'utente evoluto.
Probabilmente alcuni di voi che lo utilizzano da tempo lo considereranno un linguaggio completo per le funzioni che deve svolgere, il che è certamente vero!
Ma potrebbe darsi il caso in cui un'interfaccia grafica, seppur semplice e minimale, possa agevolare alcune operazioni (raggruppare alcuni comandi usati di frequente in un menù, installare un programma con parecchie opzioni di installazione, ecc..).
In questi casi vi vengono in aiuto DIALOG e XDIALOG, due strumenti che dotano gli script di una GUI; per la precisione Dialog è basato sul terminale mentre Xdialog è un programma per X11.
In sostanza, quello che fanno questi programmi è visualizzare diversi tipi di caselle di dialogo (casella di interrogazione con pulsanti di risposta "si" e "no", lista scorrevole di scelte, caselle di testo, ecc..).


Questo breve articolo illustrerà solo alcuni esempi molto semplici.
Del resto se volete approfondire ci sono i siti http://hightek.org/dialog/ (per Dialog) e http://xdialog.dyns.net (per Xdialog) dai quali potete scaricare i programmi stessi e la documentazione, c'è il comando dialog+invio da terminale, un discreto numero di esempi nella directory /usr/share/doc/dialog-0.9b/samples (almeno per quanto riguarda Red Hat 9) e l'immancabile pagina man.


Vediamo ora il 1° esempio.
Aprite un file di testo vuoto e inserite il seguente contenuto:

# INIZIO SCRIPT #
#!/bin/bash
dialog --title "titolo" --backtitle "titolo di fondo" --yesno "Ti piace Dialog?" 0 0; \
# utilizziamo qui una casella di interrogazione con i pulsanti di risposta "si" e "no",
# diamo un titolo e un titolo di fondo,
# il doppio zero finale (altezza e larghezza) indica che la finestra viene
# dimensionata automaticamente (provate a dargli qualche valore numerico)

case $? in
0) echo "benissimo!" ;;
1) echo "peccato..." ;;
255) echo "uscita con il tasto ESC" ;;
esac
# nel caso in cui si seleziona il pulsante "si" viene stampato a monitor
# il messaggio "benissimo!"
# nel caso in cui si seleziona il pulsante "no" viene stampato a monitor
# il messaggio "peccato..."
# nel caso in cui premiamo il tasto ESC viene stampato a monitor
# il messaggio "uscita con il tasto ESC"
# FINE SCRIPT #

Salvate il file con il nome, ad es., script,
modificate i permessi (es.: chmod 700 script),
lanciatelo (es.: ./script) e vedete i risultati.
Semplice.....ma non molto utile direi.


Ecco allora un altro esempio, con Xdialog questa volta e quindi utilizzabile da ambiente grafico, che io utilizzo per avviare la connessione a Internet con il modem ADSL Speedtouch USB.
Create il file avvia_connessione contenente il seguente codice:

# INIZIO SCRIPT #
#!/bin/bash
Xdialog --yesno "Vuoi connetterti a internet?" 0 0; \
case $? in
0) modem_run -m -f /usr/share/speedtouch/mgmt.o; pppd call adsl; ifconfig ppp0;;
1) exit;;
esac
# FINE SCRIPT #


Per disconnettersi create il file ferma_connessione con il seguente codice:

# INIZIO SCRIPT #
#!/bin/bash
Xdialog --yesno "Vuoi disconnetterti da internet?" 0 0; \
case $? in
0) killall ppp0;;
1) exit;;
esac
# FINE SCRIPT #


E veniamo all'ultimo esempio.
Supponiamo di voler creare un menù che contiene alcuni comandi e operazioni utilizzati di frequente.
Il contenuto dello script sarà il seguente:

# INIZIO SCRIPT #
#!/bin/bash
dialog --menu "Menù di scelta" 0 0 0 \
# creiamo un menù di scelta
# il triplo 0 finale (altezza, larghezza, altezza menù) indica che la finestra
# viene dimensionata automaticamente

1 "Backup" \
2 "Avvia ambiente grafico" \
3 "Esci" 2> /tmp/menu.$$
# le opzioni selezionate vengono mostrate come standard error e redirette nel file
# temporaneo menu.$$ che in seguito viene eliminato


opt=`cat /tmp/menu.$$`
# il simbolo ` si ottiene premendo ALT+96 da tastiera in codice ascii

rm -rf /tmp/menu.$$
case $opt in
1) tar -cvzf /root/backup.tar.gz /home; read;;
2) startx;;
3) exit;;
esac
# per ogni voce di menù viene eseguito il comando indicato
# FINE SCRIPT #


A voi approfondire l'argomento.




  Ultime dal forum Linux

Vai al forum
  Ultimi File inseriti
Diablo III (14025)
Fancazzista Scr... (18028)
Sensuality scri... (7494)
Grand Theft Aut... (5040)
Stealth Script ... (8191)
-SagittarioScri... (17883)
Paradise Script (13427)
Trivia Game 200... (11612)
Ircap Script 8.... (5076)
RawScript 2.0 (8294)


 

 

  Scarica Linux
Scarica qui Linux
Scarica qui Linux
 Linux Girls
Linux Girls Ragazze LinuxLe famose Linux Girls che si trovano ovunque su internet le abbiamo anche noi! Consigliamo di usarle come sfondo per i vostri desktop (Anche windows per carità)!
Linux Girls




Cerca nel sito

Le ultime news:



Sondaggio
Cosa vorresti di nuovo?

Risultati | Archivi

Statistiche Download
Database:
283 Files
241 Mb
Scaricati:
2632086 Files
Totale: 5555637Mb

Upload
Hai realizzato uno Script? Una addon? Una tcl? Un articolo? Qualsiasi cosa? Mandacelo ora! Utilizza il form upload per inviarci il tuo materiale e se lo riteniamo idoneo lo vedrai pubblicato nel portale!
[ Upload ]

Chat
Inserisci il tuo nick:



| Contattaci | Pubblicità | Staff |
Il presente materiale è Copyright TuttoIRC.it 2005. Leggi il Disclaimer