Per creare un codice efficiente, le funzioni bash vengono utilizzate negli script di shell. In sostanza, queste sono una serie di istruzioni che possono essere nuovamente utilizzate durante il programma. Inoltre, consente ai programmatori di dividere script lunghi e complessi in blocchi gestibili che possono essere invocati secondo necessità. In questo articolo, esamineremo come passare un argomento a una funzione bash per costruire una funzione con un argomento. Il parametro può essere una stringa, un numero intero o qualcos'altro. In questo articolo verranno utilizzati diversi metodi di invio di argomenti alle funzioni bash.
Passando argomento alla funzione Bash
In questa sezione, ti mostreremo come fornire un argomento per una funzione bash in Linux. Ma prima dimostreremo come creare una funzione in bash. L'uso delle funzioni negli script bash è un modo fantastico per riutilizzare il contenuto. Un gruppo di comandi che può essere chiamato ripetutamente all'interno di uno script bash potrebbe essere definito un modulo bash. Le funzioni di Bash sono lì per rendere i tuoi programmi più facili da leggere e impedirti di inserire ripetutamente lo stesso script.
Per scrivere il programma, useremo la shell bash, che è "#!/Bin/Bash."Quindi, nella riga seguente, definiremo una funzione essenzialmente definita dall'utente, quindi gli daremo il nome di nostra scelta. Qui nomineremo la funzione "func" e useremo le staffe rotonde "()" che sappiamo sono usate con le funzioni. Useremo quindi le staffe ricci all'interno di queste parentesi. Usiamo il comando "eco" per stampare l'affermazione che contiene il testo "I Love My Country" e poiché questa affermazione è incorporata nella funzione, verrà visualizzata nell'output quando la funzione viene chiamata. La funzione verrà ora chiamata alla fine dello script. Inserisci semplicemente il nome del metodo "Func" senza parentesi per raggiungere questo obiettivo.
#!/Bin/Bash
func ()
Echo "Amo il mio paese"
Func
Il comando di visualizzare l'output di uno script bash nel terminale verrà ora inserito nel terminale. Per fare ciò, inseriremo prima la parola chiave "bash" seguito da uno spazio, quindi il nome dello script bash, "FileBash.sh".
Linux@Linux: ~/Desktop $ Bash FileBash.sh
La stringa che abbiamo usato all'interno della funzione "func" e voleva visualizzare sullo schermo dopo aver chiamato la funzione verrà visualizzata quando eseguiamo questo comando. Come puoi vedere, la frase "I Love My Country" è visualizzata nell'immagine qui sotto.
Ora, nella sezione seguente, daremo un argomento per la funzione bash. Per fare ciò, costruiremo uno script in bash in cui aggiungiamo prima la shell, come abbiamo fatto in precedenza, quindi definiremo una funzione con il nome "func1 ()", seguito da parentesi ricci. Il corpo della funzione si trova tra le staffe ricci. Pertanto, all'interno del corpo della funzione, utilizziamo il comando "eco" per stampare il nome della funzione "func1" e passiamo il parametro bash "$ 1". Dopo essere uscito dal corpo della funzione, lo chiamiamo nella riga seguente e passiamo la stringa "Goodluck" come argomento. Questa stringa è mantenuta nella variabile "$ 1".
#!/Bin/Bash
func1 ()
Echo "Func1 $ 1"
func1 "Goodluck"
L'output dello script viene quindi visualizzato sul terminale digitando lo stesso comando utilizzato anche nel passaggio precedente.
Linux@Linux: ~/Desktop $ Bash FileBash.sh
Come puoi vedere nell'immagine qui sotto, quando abbiamo eseguito questo comando, ha visualizzato una dichiarazione che includeva il nome della funzione "Func1" e la stringa "Goodluck" che avevamo fornito come argomento alla funzione bash. Sarà salvato nel parametro "$ 1".
Passando più argomenti alla funzione bash
Mentre questa sezione è simile a quella precedente, passeremo più parametri qui piuttosto che un singolo argomento nella sezione precedente. Per questo, svilupperemo uno script in cui aggiungiamo per la prima volta la shell bash, che è "#!/bin/bash ",. Quindi, definire una funzione con il nome "user_function ()", seguito dal corpo della funzione, che viene creata utilizzando staffe ricci. Tra queste parentesi, seguiamo gli identici passaggi come nella sezione precedente, inserendo l'istruzione "user_function" che è il nome della funzione e i parametri "$ 1", "$ 2", "$ 3" e "$ 4" con il Comando "Echo".
Quindi, nel passaggio seguente, chiameremo la funzione con gli argomenti usando il nome della funzione, "user_function", nonché le quattro stringhe che compongono l'argomento: "io", "amore", "mio" e "paese". Le stringhe devono essere scritte con virgole invertite. I parametri per Bash verranno sostituiti con queste stringhe che forniamo come argomenti. La prima stringa sarà archiviata in "$ 1", la seconda in "$ 2", la terza in "$ 3" e la quarta in "$ 4".
#!/Bin/Bash
user_function ()
echo "user_function $ 1 $ 2 $ 3 $ 4"
user_function "io" "amore" "mio" "paese"
Ora, useremo il comando per aprire lo script bash sul terminale digitando prima "bash" e poi il nome dello script, "FileBash.sh".
Linux@Linux: ~/Desktop $ Bash FileBash.sh
Puoi vedere nell'immagine qui sotto che quando il comando viene eseguito correttamente, visualizza il nome della funzione, "Funzione utente", così come la stringa "I Love My Country" che avevamo fornito come argomento nella funzione bash.
Utilizzo del metodo di divisione nella funzione bash con un argomento intero
In questa sezione, divideremo un numero intero usando uno script bash e invieremo il risultato come input alla funzione. Per raggiungere questo obiettivo, scriveremo uno script in cui aggiungiamo prima la shell bash come abbiamo fatto nel passaggio precedente. Quindi, definire la funzione "function utente ()" quindi utilizzare parentesi ricci all'interno delle quali definiamo la variabile "div" e memorizziamo l'operazione di divisione utilizzando il segno del dollaro "$."Usiamo quindi parentesi a doppio round all'interno delle quali utilizziamo due parametri," $ 1 "e" $ 2 "e tra questi due parametri inseriamo l'operatore della divisione per eseguire la divisione.
Quindi, utilizziamo il comando "eco" nella riga seguente, passando l'istruzione input "Dividi 60 per 10 è" e l'argomento "div" con il valore "$" perché la risposta della divisione è memorizzata in essa. I valori che utilizziamo nella divisione, "60" e "10" verranno passati come argomenti alla funzione quando la chiamiamo usando la funzione "user_define."
#!/Bin/Bash
user_function ()
Div = $ (($ 1 / $ 2))
Echo "Dividi 60 per 10 è: $ div"
user_function 60 10
Il comando seguente deve essere utilizzato per visualizzare il risultato sullo schermo come passaggio successivo.
Linux@Linux: ~/Desktop $ Bash FileBash.sh
Puoi vedere il risultato della divisione mostrato quando eseguiamo questo comando. Il risultato è "6" come mostrato dalla dichiarazione, che afferma "La divisione 60 per 10 è: 6."
Conclusione
Questo articolo ha discusso di come scrivere una funzione bash in Linux che prende argomenti. In una funzione bash, sono state definite varie tecniche per l'invio di argomenti. Nella prima sezione di questo articolo, abbiamo trattato come scrivere uno script in bash e costruire una funzione, nonché come fornire un singolo argomento a una funzione. I numerosi parametri sono forniti a una funzione bash nella seconda metà e l'argomento intero viene approvato nell'ultima sezione per eseguire la divisione.