Il miglior tutorial funzione Shell Nel 2024, in questo tutorial puoi imparare Argomenti funzione,

funzione Shell

linux shell può essere funzioni definite dall'utente, allora si può facilmente chiamare negli script di shell.

Definizione Formattare la funzione di shell come segue:

[ function ] funname [()]

{

    action;

    [return int;]

}

spiegazione:

  • 1, può assumere la funzione di divertimento () è definito per essere un divertimento diretta () è definito, senza alcun parametro.
  • 2, possono essere visualizzati parametri di ritorno più: il ritorno di ritorno, in caso contrario, il risultato sarà l'ultimo comando eseguito, in quanto il valore di ritorno. seguito dal valore di ritorno di n (0-255

L'esempio seguente definisce una funzione e chiamata:

#!/bin/bash
# author:本教程
# url:www.w3write.com

demoFun(){
    echo "这是我的第一个 shell 函数!"
}
echo "-----函数开始执行-----"
demoFun
echo "-----函数执行完毕-----"

uscita:

-----函数开始执行-----
这是我的第一个 shell 函数!
-----函数执行完毕-----

La seguente definizione di una funzione con una dichiarazione di ritorno:

#!/bin/bash
# author:本教程
# url:www.w3write.com

funWithReturn(){
    echo "这个函数会对输入的两个数字进行相加运算it."
    echo "输入第一个数字: "
    read aNum
    echo "输入第二个数字: "
    read anotherNum
    echo "两个数字分别为 $aNum 和 $anotherNum !"
    return $(($aNum+$anotherNum))
}
funWithReturn
echo "输入的两个数字之和为 $? !"

Output simile di seguito:

这个函数会对输入的两个数字进行相加运算it.
输入第一个数字: 
1
输入第二个数字: 
2
两个数字分别为 1 和 2 !
输入的两个数字之和为 3 !

valore di ritorno della funzione dopo aver chiamato questa funzione tramite $? Si ottiene.

Nota: tutte le funzioni devono essere definite prima dell'uso. Ciò significa che la funzione deve essere posizionato all'inizio dello script finché l'interprete shell quando è stato scoperto, può essere utilizzato. Chiamare la funzione utilizzando solo il suo nome di funzione.


Argomenti funzione

In Shell, è possibile passare parametri a cui viene chiamata la funzione. Nel corpo funzione all'interno, per ottenere il valore di un parametro nella forma di $ n, per esempio, $ 1 per il primo argomento, $ 2 per il secondo parametro it.

Esempio funzione con i parametri:

#!/bin/bash
# author:本教程
# url:www.w3write.com

funWithParam(){
    echo "第一个参数为 $1 !"
    echo "第二个参数为 $2 !"
    echo "第十个参数为 $10 !"
    echo "第十个参数为 ${10} !"
    echo "第十一个参数为 ${11} !"
    echo "参数总数有 $# 个!"
    echo "作为一个字符串输出所有参数 $* !"
}
funWithParam 1 2 3 4 5 6 7 8 9 34 73

uscita:

第一个参数为 1 !
第二个参数为 2 !
第十个参数为 10 !
第十个参数为 34 !
第十一个参数为 73 !
参数总数有 11 个!
作为一个字符串输出所有参数 1 2 3 4 5 6 7 8 9 34 73 !

Si noti che $ 10 non può ottenere un decimo parametri, ottengono il decimo parametri devono $ {10}. Quando n> = 10, è necessario utilizzare $ {n} per ottenere i parametri.

In aggiunta, ci sono diversi parametri per gestire i caratteri speciali:

la manipolazione dei parametri spiegazione
$ # Il numero di parametri passati allo script
$ * In un unico display stringa tutti i parametri passati allo script
$$ L'attuale numero di ID di processo dello script viene eseguito
$! Infine, un processo in esecuzione nel numero di sfondo ID
$ @ * $ Con la stessa, ma quando si utilizzano le virgolette, e ritorna ogni parametro tra virgolette.
$ - Shell visualizza l'opzione corrente per utilizzare lo stesso comando funzione set.
$? Consente di visualizzare lo stato di uscita dell'ultimo comando. 0 indica nessun errore, e qualsiasi altro valore indica un errore.
funzione Shell
10/30