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. |