Pagina 1 di 1

Il mio primo script

Inviato: 25 ago 2013, 18:11
da maxlinux2000
...spesso e volentieri avremmo bisogno di creare uno script per automatizzare qualche cosa, come per esempiolo scaricamento di un sito,o di una lista di files, oppure elaborare una serie di dati per ottenere un risultato.

inizio qui una serie di piccole lezioni o meglio "ricette" per imparare i rudimenti della programmazione in Bash.

Innanzitutto Bash significa "Born Again SHell". Praticamente si tratta di una copia libera della primissima Shell unix di proprietà della americana AT&T di cui si erano conservati i diritti.
Per maggiori info cercate su google "Storia di Unix"

La shell (chiamata impropiamente anche Terminale o Console) è un ambiente di sviluppo ove possiamo dare direttamente comandi, come per esempio formattare un HD, oppure creare script usando i comandi interni o esterni alla shell.

cominciamo com il primissimo e classico esempio di tutti i linguaggi di programmazione:




Codice: Seleziona tutto

$ touch Ciao.Mondo.sh
$ mcedit Ciao.Mondo.sh


"touch" significa "tocca", e viene anche usato per creare un file vuoto. In questo caso crea il file Ciao.Mondo.sh
.sh lo aggiungo per capire che si tratta di uno script di shell

"mcedit" è l' editor di testo di "mc". Per chi non lo conoscesse cercate la discussione di Midnigth Commander
Quindi "mcedit Ciao.Mondo.sh" apre il file vuoto che abbiamo appena creato con "touch"

Scriviamo dentro al file, il seguente codice

Codice: Seleziona tutto

#!/bin/bash

clear
echo Ciao Mondo!


Come vedete si tratta di un linguaggio molto semplice. La prima linea rimane sempre inalterata (nei sistemi Linux) diciamo che serve allo script per sapere dove si trova la shell ovvero dentro la directory /bin

"clear" serve per pulire lo schermo
"echo" è equivalente a "PRINT" del basic e serve per mostrare a video i messaggi.

A questo punto lo script è pronto, ma non funziona ancora per via della mancanza del permesso di esecuzione.

Rimediamo con il seguente comando:

Codice: Seleziona tutto

$ chmod 750 Ciao.Mondo.sh


"chmod" è il comando per cambiare i permessi. I permessi in tutti gli Unix, sono divisi in:
Utente,Gruppo,Altri
7= tutti i permessi compreso esecuzione
5=esecuzione ma senza modifica
0=nessun accesso.
Messi nella sequenza 750, significa: Tutti i permessi per l' utente propietario, Esecuzione per il gruppo, Nessun accesso per gli altri.

Più in la approfondiremo i concetti di permessi di unix.

con "chmod 750", lo script è pronto,ora possiamo lanciarlo con:


Codice: Seleziona tutto

$ ./Ciao.Mondo.sh


il ./ serve per dire al sistema, che lo script si trova nella attuale directory e non dentro al $PATH. (più in la affronteremo anche questo argomento se necessario)

e otterremo:

Codice: Seleziona tutto

Ciao Mondo!

Re: Il mio primo script

Inviato: 25 ago 2013, 20:25
da titone78
ciao max,ottima guida,perfetta per incominciare a capirci qualcosa.........unica cosa il comando chmod,e il comando per lanciarlo bisogna darli al file creato,cioe:

"ciao.mondo.sh",e non "hello".......

Re: Il mio primo script

Inviato: 25 ago 2013, 20:47
da maxlinux2000
opss! :D correggo

Re: Il mio primo script

Inviato: 25 ago 2013, 21:01
da Ferrobattuto
Mi sono già persooooooooo............ Non funziona nienteeeeeee........ : Cry :

Re: Il mio primo script

Inviato: 25 ago 2013, 22:57
da maxlinux2000
ripeti tutto da capo, e postami gli errori

Re: Il mio primo script

Inviato: 3 ott 2021, 9:16
da jpquattro
Ciao Max.
Posso criticare un poco?
Ma il nome... con due (2!) punti nel mezzo? Magari funziona, ma appartiene alle cose che "non è saggio" fare.
Il punto, nel nome di un file (In Linux Unix ma se ricordo bene anche in windows) separa il nome vero e proprio "ciao mondo" dal suffisso, in questo caso sh.
Il suffisso specifica "a cosa serve il file" e quali programmi verranno usati per manipolarlo.
Nel caso specifico non crea problemi, ma c'è da giurarci prima o poi capita l'applicazione che fa Kasino.
Quindi nel nome di un file di solito non si mettono caratteri speciali, virgole doppi apici ecc ecc, ma solo il - o il _ oltre ai caratteri alfabetici (non è saggio neanche mettere le accentate per motivi analoghi).
Ovviamente queste cose tu le sai, ma molti degli altri no...

A questo proposito perché usare mcedit? vi sarebbe stato più adeguato, vi esiste sicuramente in tutte le distribuzioni, mcedit non lo so...

Paolo, il KritiKone

Re: Il mio primo script

Inviato: 4 ott 2021, 12:25
da maxlinux2000
ciao,

chiaramente puoi fare tutte le critiche che vuoi, ci sono un sacco di stili di scrittura anche dentro allo stesso linguaggio, e ognuno fa quello che preferisce, anche se le scuole tentano di uniformare tutto, con riwsultati fallimentari.. come le scuole stesse oramai.

mcedit anche lui fa parte del mio stile.... infatti so usare "vi" e "vim" ma lo odio.
CMQ "mcedit" fa parte di "mc" (MidnightCommander) ed è un classico di linux, anche se spesso si usa solo come gestore di files.

ciao
MaX