tags: bash bash_funzioni


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 CodeDescription
1General errors
2Misuse of shell builtins
126Command invoked cannot execute
127Command not found
128Invalid argument to exit
128+nFatal error signal “n
130Script 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.