+--------------------------+
                          |BASH SCRIPT *** LESSON #01|
                          +--------------------------+



		         **PRIMO APPROCCIO E VARIABILI**
	
	Ancora qui a scrivere per la comunity.Ho deciso di cominciare(paral-
	lelamente alle lezioni di C) questo nuovo corso che non curerò  in
	maniera particolare ma che può comunque risultare interessante.
	Si tratta di quel mitico linguaggio di scripting che ci permette di
	controllare con semplici programmini il nostro tanto amato  sistema
	linux. Proprio lui, il bash script. Sarà una guida piuttosto diret-
	ta e pratica  in  cui  non  parlerò di  programmazione in generale.

	Cominciamo con il solito esempio di poche righe che spiega come  si
	struttura un programma. 

	   #!/bin/sh   
	   echo "Hello world" 

	Direi che è veramente molto semplice da capire. La prima riga serve
	a richiamare il programma con cui il codice deve essere eseguito  e
	cioè la shell. Ma non tutti hanno la shell  risiedente  in  /bin/sh
	Altre socazioni comuni sono:

	   /bin/bash
	   /bin/zsh

	Il resto ha bisogno di poche spiegazioni in quanto è un comando che
	spero tutti conosciamo in quanto si tratta di un  normale  comando
	della shell. Sta proprio qui il bello  del bash script: se  si  sa
	usare la linea di comando di linux (e se avete linux la sapete usa-
	re) diventa tutto molto semplice in quanto i comandi sono gli stes-
	si e con la stessa sintassi. Ecco un altro esempio:

	   #!/bin/bash

	   echo "Questo programma mostra la lista della directory"
	   ls -l

	Ne approfitto per introdurre i commenti  (scritte  che  servono  a
	rendere il codice più chiaro e che non hanno riscontri sul risulta-
	to. In bash script i commenti si fanno con il cancelletto # seguito
	dal testo che si vuole inserire:

	   #Questo è un commento

	Ora il dubbio che sorge è: cosa ce ne facciamo  adesso  del  nostro
	codice scritto in un editor di testo? Semplicissimo:  salvatelo  in
	un file con estensione .sh e avviatelo dalla shell in questo  modo:

	   sh nomefile.sh
	
	Prima di lasciarvi vorrei trattare almeno un altro argomento in mo-
	do che voi possiate cominciare ad esercitarvi.  Vediamo,  di solito
	dopo l'approccio si parla di variabili... ok. I contenitor i atti a
	contenere valori che chiamiamo variabili in bash  script  hanno una
	fantastica particolarità: non vanno dichiarate. Si passa direttamen-
	te alla fase di assegnazione in cui inseriamo dentro alla variabile
	un valore che può essere di qualunque tipo (un carattere, un numero
	o una stringa).

	   #!/bin/sh
	   CIAO="Tu puzzi"  #assegna alla variabile di nome CIAO la stringa             
	   echo $PUZZI      #"tu puzzi" e poi con in comando echo scrive la
			    #variabile o meglio il valore in essa contenuto
			    #sullo schermo.

	Notiamo un segno "$". Questo deve sempre comparire  davanti al nome
	della variabile quando la medesima viene  utilizzata.  Naturalmente
	ciò che vedrete avviato questo programma sarà: Tu puzzi
	E' possibile  inoltre fare un tipo particolare di assegnazione  che 
	ci permette di inserire all'interno di una variabile un comando del-
	la shell bash:

	   VARLS=ls

	Come vedete abbiamo inserito nella variabile il nome del comando sen-
	za doppi apici. Quindi attenzione a non fare dichiarazione come per
	esempio VARIABILE=ciao perchè ciao mamma  verrebbe  considerato  un 
	comando della shell (inesistente). Per  inserire nella  variabile il
	risultato di un comando:

	   VARLS2='ls -l'

	Con gli apici '' (non i doppi apici). Attenzione al comando echo in
	questi casi: se provate a stampare a schermo con il suddetto comando
	quanto visto sopra vi accorgerete che echo  è  in grado  di stampare
	una sola riga! 
	Naturalmente come in tutti i linguaggi di programmazione è anche pos-
	sibile rendere il programma interattivo e far inserire il valore del-
	la variabile  dall'utente che esegue il programma.  Per farlo si usa 
	l'istruzione read:

	   echo -n "inserisci un valore " ; 
	   read variabile ; 
	   echo $variabile

	Il comando read legge ciò che viene immesso in input dalla tastiera e 
	echo lo stampa. Inerisco qui alcune opzioni  utili su questo  comando 
	anche se potete sempre consultare man read.

                        ----------------------------------
	                robcasanovi  virgilio  it
                        ----------------------------------

    Source: geocities.com/it/songbook2003

               ( geocities.com/it)