Esistono due metodi per dichiarare una funzione, il primo è:
function name {
<commands>
}Il secondo:
name {
<commands>
}Esempio:
# Identify Network range for the specified IP address(es)
function network_range {
for ip in $ipaddr
do
netrange=$(whois $ip | grep "NetRange\|CIDR" | tee -a CIDR.txt)
cidr=$(whois $ip | grep "CIDR" | awk '{print $2}')
cidr_ips=$(prips $cidr)
echo -e "\nNetRange for $ip:"
echo -e "$netrange"
done
}Quando avviamo un nuovo processo, ogni processo figlio (ad esempio, una funzione nello script eseguito) restituisce un codice di ritorno al processo padre (la shell bash tramite cui abbiamo eseguito lo script) al suo termine, informandolo dello stato dell’esecuzione. Queste informazioni vengono utilizzate per determinare se il processo è stato eseguito correttamente o se si sono verificati errori specifici. Sulla base di queste informazioni, il processo padre può decidere il flusso successivo del programma.
| Return Code | Description |
|---|---|
1 | General errors |
2 | Misuse of shell builtins |
126 | Command invoked cannot execute |
127 | Command not found |
128 | Invalid argument to exit |
128+n | Fatal error signal “n” |
130 | Script terminated by Control-C |
255\* | Exit status out of range |
| Per recuperare il valore di una funzione, possiamo utilizzare diversi metodi come return, echo o una variabile. |