Manuali, links, fotografie e tanto altro
alla portata di un semplice click!
 
 Benvenuto Ospite
Manuali, immagini, fotografie e tanto altro a portata di un click

Cartoline virtuali

Cartolina n° 799



Sono presenti 1307 cartoline virtuali. Entra ora


Giochi online
F-18


1. ermesiti: 11,200
2. Mike86: 8,000
2. barone400: 8,000

Visualizza tutti i giochi.

News Reader















Guida al Bash Scripting - Volume 5, Resinaro
.: Data Pubblicazione 03-Nov-2004 :: Letture:: 875 :: Recensione :: Stampa solo questa pagina :: Stampa pagina con tutte le sottopagine:.
+---------------------------------+
| Sommario:                                                            |
| 1- Introduzione                                                      |
| 2- Usiamo 'select'                                                   |
| 3- Usare la linea di comando                                         |
| 4.1- Prorammino finale (con 'select')                                |
| 4.2- Prorammino finale (utilizzando la linea di comando)             |
| 5- Compiti per casa =)                                               |
| 6- Conclusione, greets e fuckto                                      |
|                                                                      |
| ################                                                     |
| # INTRODUZIONE #                                                     |
| ################                                                     |
|                                                                      |
| Ciao a tutti e bentornati =)                                         |
| Innanzi tutto faccio i complimenti a Salvo`B che ha                  |
| scritto le lezioni 3 e 4 di queste lezioni sul Bash                  |
| Scripting.                                                           |
| Come esplicitato dal sommario oggi parleremo di come                 |
| fare dei semplici menu' utilizzando il comando 'select',             |
| e su come fare dei programmi che sfruttano la linea di               |
| comando (come per es. la maggior parte dei .c).                      |
| Preciso che oggi saro' molto breve e conciso perchè ho               |
| poco tempo, sono innamorato e a casa mia sta                         |
| succedendo bordello (tanto per cambiare)                             |
|                                                                      |
| #################                                                    |
| # USIAMO SELECT #                                                    |
| #################                                                    |
|                                                                      |
| Iniziamo subito con un esempio commentato.                           |
| ----------- Cut Here -----------                                     |
| #!/bin/bash                                                          |
|                                                                      |
| MENU="Email Http Quit"                                               |
| #Questi sono i tre valori del menu', divisi da spazi.                |
| select val in $MENU; do                                              |
| #sintassi: select  in                  |
| if [ "$val" = "Quit" ]; then                                         |
| exit                                                                 |
| elif [ "$val" = "Email" ]; then                                      |
| echo "Resinaro@Mojodo.it"                                            |
| elif [ "$val" = "Http" ]; then                                       |
| echo "http://www.mojodo.it"                                          |
| else                                                                 |
| echo "Ma che cazzo dici? =)"                                         |
| fi                                                                   |
|   done                                                               |
| #Notare quanto sia simile alla istruzione 'for'.                     |
|                                                                      |
| ----------- Cut Here -----------                                     |
| Quando eseguiamo lo script uscira' questo:                           |
| Resinaro@Mojodo /lezioni/Bash# sh LezBash5.sh                        |
| 1) Email                                                             |
| 2) Http                                                              |
| 3) Quit                                                              |
| #?                                                                   |
|                                                                      |
| ``#?" vuole il numero di riferimento e poi un invio,                 |
| per es se voi voleste vedere la mia email, dovreste                  |
| scrivere 1 e poi premere invio.                                      |
| Il ciclo continua fino a quando non fermiamo il prog,                |
| (ctrl+c, ctrl+ per es.), ecco perchè conviene lo                    |
| stesso mettere una opzione di uscita collegata a un                  |
| 'exit'.                                                              |
|                                                                      |
| ####################                                                 |
| # LINEA DI COMANDO #                                                 |
| ####################                                                 |
|                                                                      |
| Eccolo qui.. la solita funzione fighissima di eseguire               |
| un prog inserendo delle variabili direttamente nella                 |
| linea di comando (direttamente dopo aver scritto il                  |
| comando per eseguire il prog. in parole molto povere)                |
| Faccio un es.                                                        |
| Resinaro@Mojodo /# tar zxvf ciao.tar.gz                              |
| Questo è un es di prog che sfrutta la linea di comando,              |
| infatti le variabili vengono inserite nella stessa                   |
| riga del prog, e questo, a mio parere, è molto comodo                |
| in un prog.                                                          |
|                                                                      |
| Facciamo subito un programmino di esempio, commentato:               |
|                                                                      |
| ----- Cut Here ----                                                  |
| #!/bin/bash                                                          |
| if [ -z "$1" ]; then                                                 |
|                                                                      |
| #eccolo qua.. l'if della nostra vita =P, se dopo il                  |
| #comando per eseguire il prog non c'è nulla,                         |
| #fa stampare l'usage, e poi esce.. =)                                |
|                                                                      |
| echo usage: sh $0 image                                              |
| #$0 la variabile $0 sta per il nome del file                         |
| exit                                                                 |
| fi                                                                   |
| ee $1                                                                |
| #usiamo `ee` per mostrare la variabile $1 cioè l'img.                |
| ----- Cut Here ----                                                  |
|                                                                      |
| Ok.. non credo ci sia bisogno di dilungarmi più di                   |
| tanto.                                                               |
| Ma comunque tanto per rispondere ad alcune domande                   |
| che potrebbero sorgervi, faccio un altro                             |
| es. un pò r0xante =)                                                 |
|                                                                      |
| ############################                                         |
| # PROGRAMMINO(I) FINALE(I) #                                         |
| ############################                                         |
|                                                                      |
| Come al solito vi lascio con il prog di riepilogo.                   |
| Questa volta però, ve ne lascio due, (non ho trovato                 |
| il modo di conciliare in modo proficuo le due funzioni               |
| spiegate oggi), i due prog hanno la stessa funzione,                 |
| ma sono fatti il primo usando la funzione select,                    |
| e il secondo usando la linea di comando.                             |
|                                                                      |
| --------- Tarratore.sh (Con Select) ---------                        |
| #!/bin/sh                                                            |
|                                                                      |
| echo "«Tarratore» - By Resinaro (Resinaro@Mojodo.it)"                |
| tarralo() {                                                          |
| echo -n "File da comprimere: "                                       |
| read file                                                            |
| tar -czf ${file}.tar.gz $file                                        |
| echo "* $file compresso in ${file}.tar.gz"                           |
| }                                                                    |
| MENU="Tar Quit"                                                      |
| #Questi sono i tre valori del menu', divisi da spazi.                |
| select val in $MENU; do                                              |
| #sintassi: select  in                  |
| if [ "$val" = "Quit" ]; then                                         |
| exit                                                                 |
| elif [ "$val" = "Tar" ]; then                                        |
| tarralo                                                              |
| else                                                                 |
| echo "... o 1 o 2... e che cazzo.."                                  |
| fi                                                                   |
|   done                                                               |
| ----------------- Cut Here -----------------                         |
|                                                                      |
| --------- Tarratore.sh (Linea di Comando) ---------                  |
| #!/bin/bash                                                          |
| if [ -z "$1" ]; then                                                 |
| echo "«Tarratore» - By Resinaro (Resinaro@Mojodo.it)"                |
| echo "usage: sh $0 file"                                             |
| exit                                                                 |
| fi                                                                   |
| file=$1                                                              |
| echo "«Tarratore» - By Resinaro (Resinaro@Mojodo.it)"                |
| tar -czf ${file}.tar.gz $file                                        |
| echo "$file compresso in $file.tar.gz"                               |
| rm -rf tar.out                                                       |
| -------------------- Cut  Here --------------------                  |
|                                                                      |
| ##################                                                   |
| # COMPITI A CASA #                                                   |
| ##################                                                   |
|                                                                      |
| Seguendo lo stile di c3nt0q con le lezioni di java                   |
| (non ancora pubblicate su Mojodo [per ora]) {Notare                  |
| il gioco di parentesi ahuahahua}, vi assegno un                      |
| compitino. Dovete modificare i prog di esempio in                    |
| modo che funzioni sia con 'select' che con la linea                  |
| di comando: nel senso che se non mettiamo niente dopo                |
| il comando per far eseguire il programma, lo stesso                  |
| parte con 'select', se invece specificate il nome del                |
| file da comprimere (consiglio di stampare l'usage da                 |
| linea di comando quando il prog parte con 'select'),                 |
| il prog funziona come il Tarratore da linea di comando.              |
| Una volta finito mandare tutto a Resinaro@Mojodo.it !!               |
| La soluzione la pubblichero' nella prossima lezione                  |
| e sarei molto felice di pubblicare un vostro lavoro 		       |
| invece di quello che ho fatto io:)                                   |
|                                                                      |
|                                                                      |
| ###############                                                      |
| # CONCLUSIONE #                                                      |
| ###############                                                      |
|                                                                      |
|                                                                      |
| Ok ragazzi, anche questa lezione è finita, la prossima               |
| la farete con Salvo`B =)                                             |
| Mi scuso se sono stato molto sintetico oggi, ma 1) non               |
| ho ritenuto necessario dilungarmi dato che le 4 lezioni              |
| precedenti vi hanno gia' permesso di prendere                        |
| dimistichezza com il linguaggio, 2) Non è proprio                    |
| giornata.. penso sempre a LEI ='(°°                                  |
|                                                                      |
| gr33tZ:                                                              |
| - Saluto Anakin, in particolare i suoi sogni e il                    |
| suo modo di essere.. sperando, un giorno, di diventare               |
| come lui.....                                                        |
| - Il Mojodo Project, per quello che mi ha dato                       |
| - una persona.. o forse 100..         
+----------------------------------------------------------------------+
.: Ritorna ad argomento Programmazione :: Ritorna a Indice Argomenti :.
Network: Cartoline virtuali - Calendari - Modelle - Playmates - Sfondi - Forum - Old SecurityNews - Warez