Utilizzo di argomenti opzionali e valore predefinito nella funzione bash

Utilizzo di argomenti opzionali e valore predefinito nella funzione bash
Una funzione è una parte essenziale di qualsiasi linguaggio di programmazione che contiene un blocco di codice. Lo stesso codice può essere eseguito più volte chiamando una funzione e il requisito per scrivere ripetutamente lo stesso codice può essere evitato utilizzando la funzione. Una funzione può essere definita senza argomentazioni e con argomento. L'argomento della funzione può essere obbligatorio e facoltativo. Il valore predefinito può essere impostato per l'argomento della funzione bash. I modi per dichiarare l'argomento opzionale e l'uso di valori predefiniti nella funzione bash hanno mostrato in questo tutorial.

Esempio-1: calcola la somma usando gli argomenti opzionali

Il modo per definire gli argomenti opzionali con i valori predefiniti è mostrato in questo esempio. Crea un file bash con il seguente script per calcolare la somma di due numeri. Nello script, la funzione denominata Sum () contiene due argomenti opzionali con valori predefiniti. Se non viene fornito alcun argomento quando si chiama la funzione, verrà calcolata la somma dei valori predefiniti. Se viene fornito un argomento quando si chiama la funzione, verranno calcolati la somma del valore dell'argomento e il secondo valore predefinito. Se vengono forniti due argomenti al momento della chiamata della funzione, verrà calcolata la somma dei valori dell'argomento. Successivamente, la funzione ha chiamato senza argomenti, con un argomento e con due argomenti.

#!/Bin/Bash
#DECLARE Funzione con argomento obbligatorio e opzionale
functionsum ()

#Sept i valori
num1 = $ 1: -10
num2 = $ 2: -20
#Return vero se non viene fornito alcun argomento
if [$# -lt1]; Poi
echo "I valori degli argomenti opzionali sono: $ num1, $ num2."
#Return vero se viene fornito un argomento
elif [$# -lt2]; Poi
#Add Nuova linea
eco
Echo "Il valore dell'argomento opzionale è: $ num2."
altro
#Add Nuova linea
eco
echo "Non esiste un argomento opzionale."
Num1 = $ 1
Num2 = $ 2
fi
#Calcula la somma di due numeri
Sum = $ ((NUM1+NUM2))
Echo "La somma di $ num1 e $ num2 è $ somma"

#Call Funzione senza alcun argomento
somma
#Call Function con un argomento
Somma 40
#Call funzione con due argomenti
Somma 70 30

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra. Quando la funzione è stata chiamata senza alcun argomento, è stata stampata la somma di due valori predefiniti che 30 (10+20). Quando la funzione è stata chiamata con un argomento, viene stampata la somma del valore dell'argomento (40) e il secondo valore predefinito (20) che è 60. Quando la funzione è stata chiamata con due argomenti, la somma di due valori di argomento ha stampato 100 (70+30).

Esempio-2: autentica l'utente utilizzando

valori standard
Crea un file bash con il seguente script per autenticare l'utente con il nome utente e la password predefiniti quando la funzione viene chiamata senza alcun argomento. La funzione denominata autentica () contiene due argomenti opzionali con nome utente e password predefiniti. Quando questa funzione viene chiamata senza alcun argomento, i valori predefiniti verranno utilizzati per autenticare l'utente e il messaggio di successo dell'accesso agli ospiti verrà stampato. Quando questa funzione viene chiamata con un nome utente e una password validi, verrà stampato il messaggio di successo dell'accesso dell'amministratore. Quando questa funzione viene chiamata con un nome utente e una password non validi, il messaggio di errore verrà stampato.

#!/Bin/Bash
#DECLARE FUNZIONE per l'autenticazione
fundAuthenticate ()

#Sept i valori
nome utente = $ 1: -guest
password = $ 2: -12345
#Return vero se non viene fornito alcun argomento
if [[$ username == 'admin' && $ password == 'secret']; Poi
Echo "Hai effettuato l'accesso come amministratore."
#Return vero se viene fornito un argomento
elif [[$ username == 'Guest' && $ password == '12345']]; Poi
echo "Hai effettuato l'accesso come ospite."
altro
Echo "Nome utente e password non validi."
fi

#Call Funzione senza alcun argomento
Autenticare
#Call Funzione con nome utente e password validi
Autentica il segreto amministratore
#Call Funzione con nome utente e password non validi
Autentica Fahmida 1234

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.

Esempio-3: calcola il bonus in base al valore predefinito

Crea un file bash con il seguente script per calcolare il bonus in base al valore predefinito se non viene dato alcun valore di argomento per la funzione. Tre valori di input verranno prelevati dall'utente dopo aver eseguito lo script. Si tratta di stipendio di base, affitto della casa e indennità medica. La funzione denominata Calculate_Salary () calcolerà l'importo bonus in base al valore dell'argomento della funzione o al valore predefinito. L'importo dello stipendio totale verrà conteggiato aggiungendo i valori di di base, affitto, medico, E Bonusamount. IL Calculate_Salary () La funzione ha chiamato senza alcun argomento o con un argomento.

#!/Bin/Bash
#Take di base, affitto di casa e indennità medica di un dipendente
Echo "Inserisci lo stipendio di base:"
Leggi BASIC
Echo "Enter House Rent:"
Leggi l'affitto
Echo "Inserisci l'indennità medica:"
Leggi medico
#DECLARE Funzione per calcolare lo stipendio con il bonus
functionCalCulate_Salary ()

#Sept il valore
bonus = $ 1: -5
#Calcula bonus
bonusamount = $ ((bonus di base*/100))
#Calcula lo stipendio totale
totale = $ ((base+affitto+medico+bonusamount))
#Print stipendio totale con l'importo bonus
Echo "Lo stipendio totale con bonus $ bonus è $ in totale"

#Call Funzione senza la percentuale di bonus
Calcola_Salary
#Call funzione con la percentuale di bonus
Calcola_Salary 10

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script. Quando la funzione è stata chiamata senza alcun argomento, il valore predefinito 5 è stato utilizzato per calcolare l'importo del bonus in base all'importo di base. Quando la funzione ha chiamato con il valore dell'argomento 10, l'importo del bonus è stato calcolato in base a questo valore. Successivamente, lo stipendio totale basato sul bonus del 5% e il bonus del 10% sono stati stampati.

Conclusione:

L'uso di argomenti opzionali con valori predefiniti nella funzione è stato descritto in questo tutorial usando tre diversi esempi. Il valore predefinito può essere numerico o stringa. Lo scopo di utilizzare un argomento opzionale con i valori predefiniti nella funzione verrà cancellato per l'utente Bash dopo aver letto questo tutorial.