Latest web development tutorials

fonction Shell

linux shell peut être des fonctions définies par l'utilisateur, alors vous pouvez facilement appeler dans les scripts shell.

Définition Formater la fonction shell comme suit:

[ function ] funname [()]

{

    action;

    [return int;]

}

Explication:

  • 1, peut prendre la fonction fun () est définie comme étant un amusement direct () est défini, sans aucun paramètre.
  • 2, les paramètres de retour peuvent être affichés plus: le retour de retour, sinon, le résultat sera la dernière commande run, comme la valeur de retour. suivi de la valeur de retour de n (0-255

L'exemple suivant définit une fonction et un appel:

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

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

sortie:

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

La définition suivante d'une fonction avec une instruction de retour:

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

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

Une sortie similaire à ce qui suit:

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

Fonction valeur de retour après avoir appelé cette fonction par $? Est obtenu.

Remarque: Toutes les fonctions doivent être définies avant l'utilisation. Cela signifie que la fonction doit être placée au début du script jusqu'à ce que l'interpréteur de commandes quand il a été découvert, il peut être utilisé. Appelez la fonction en utilisant uniquement son nom de fonction.


Arguments de la fonction

Dans le Shell, vous pouvez passer des paramètres à laquelle la fonction est appelée. Dans le corps de la fonction à l'intérieur, pour obtenir la valeur d'un paramètre sous la forme de $ n, par exemple, 1 $ pour le premier argument, $ 2 pour le second paramètre ...

Exemple de fonction avec des paramètres:

#!/bin/bash
# author:本教程
# url:www.w3big.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

sortie:

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

Notez que 10 $ ne peut pas obtenir un dixième paramètres, obtenir les dixième paramètres doivent $ {10}. Lorsque n> = 10, vous devez utiliser $ {n} pour obtenir les paramètres.

En outre, il existe plusieurs paramètres pour traiter les caractères spéciaux:

Gestion des paramètres explication
# $ Le nombre de paramètres transmis au script
$ * Dans une chaîne unique affiche tous les paramètres passés au script
$$ Le nombre actuel processus d'identification de l'exécution du script
$! Enfin, un processus en cours d'exécution dans le numéro d'ID de fond
$ @ * $ Avec le même, mais lorsque vous utilisez des guillemets, et retourne chaque paramètre entre guillemets.
$ - Shell affiche l'option actuelle pour utiliser la même commande de réglage de fonction.
$? Affiche l'état de sortie de la dernière commande. 0 indique une absence d'erreurs, ainsi que toute autre valeur indique une erreur.