IMC!


Contenuti


Foto

 







Curiosando...
Novita  Novità Link  Link Blog  Blog English  Español 
10 - Creare funzioni nella bash

 | 

Come avviene in molti linguaggi di programmazione, anche negli script bash è possibile creare delle funzioni che permettono di ripetere più volte porzioni di codice. La sintassi per creare una funzione è:

nome_funzione()
{
  codice_della_funzione
}

oppure

function nome_funzione()
{
  codice_della_funzione
}

Come si può notare, la parola function è opzionale.

Anche la presenza di parentesi alla fine del nome della funzione è opzionale; infatti, a differenza della maggior parte dei linguaggi di programmazione, negli scrip bash tutte le variabili hanno un carattere globale. Vediamo un esempio:

#!/bin/bash

# Questo scrip mostra come tutte le variabili siano globali.
# Il programma stampa a schermo "Funzione", e non "Programma Principale",
# come avverrebbe normalmente in C.

function cambia_variabile
{
  variabile="Funzione"
}

# Main
variabile="Programma Principale"
cambia_variabile
echo "Variabile è stata modificata l'ultima volta da: $variabile"
 

Per rendere la variabile locale, cioè per far si che il suo valore non venga modificato nel main, possiamo usare l'attrobuto local. Riprendendo il precedente esempio:

#!/bin/bash

# Questo scrip mostra come rendere locale una variabile all'interno
# di una funzione.
# Il programma stampa a schermo "Programma Principale", e non "Funzione",
# come avverrebbe normalmente in uno scrip bash, in cui le variabili in
# funzioni e programma principale sono globali.

function cambia_variabile
{
  local variabile="Funzione"
}

# Main
variabile="Programma Principale"
cambia_variabile
echo "Variabile è stata modificata l'ultima volta da: $variabile"
 

Possiamo passare i parametri a una funzione utilizzando i parametri da riga di comando (che vedremo in seguito), come mostra il seguente esempio:

#!/bin/bash

# In questo esempio vengono passati alla funzione i valori
# 2 e 4 tramite i parametri da riga di comando
function mia_funzione
{
  var1=$1
  var2=$2
  echo "Valori passati: $var1 e $var2"
}

mia_funzione 2 4

 


 | 







Commenti

1 - miaoMer 19 Nov 2014 - 22:01:36  

miao miao...
miao miao miaoooooooooooooo

miao miao

miaoooooooooooo


2 - AnonimoMar 03 Dic 2013 - 21:02:56  

la p era una o


3 - AnonimoMar 03 Dic 2013 - 21:02:00  

sai dirmi come si ottiene la lunghezza di una stringa?
tipo in c++ ce strlen() in javascript ce .lenght...

spero di essermi fatto capire haha
come trovo la lunghezza di una variabile stringa e poi è possibile sapere se una variabile è stringa p è un numero?

grz


4 - AnonimoMar 03 Dic 2013 - 20:58:18  

mi sei davvero utile grz :)


Scrivi un commento

Pui scrivere quì sotto un commento all'articolo che hai appena letto. Non sono abilitate smile, immagini e link. La lunghezza massima del commento è 4000 caratteri. La buona educazione è benvenuta, tutti i commenti offensivi saranno cancellati.

Your comment (lascia bianco!):
Utente (max 25 caratteri, obbligatorio)
Sito web (max 255 caratteri, facoltativo)
e-Mail (max 255 caratteri, facoltativa, non sarà pubblicata) Your opinion (lascia bianco!):
Commento (max 4000 caratteri, obbligatorio):





Valid HTML 4.01 Transitional
E-Mail - 98.43 ms

Valid HTML 4.01 Transitional