Latest web development tutorials

وظيفة قذيفة

لينكس قذيفة يمكن أن تكون الدالات المعرفة من قبل المستخدم، ثم يمكنك الاتصال بسهولة في البرامج النصية قذيفة.

تعريف تنسيق وظيفة قذيفة على النحو التالي:

[ function ] funname [()]

{

    action;

    [return int;]

}

التفسير:

  • 1، يمكن أن تأخذ وظيفة متعة () يعرف أن يكون متعة المباشرة () يعرف، من دون أية معلمات.
  • 2، يمكن عرض المعلمات عودة بالإضافة إلى: عودة العودة، وإذا لم يحدث ذلك فإن النتيجة ستكون الأمر الماضي البعيد، حيث بلغت قيمة المقابل. تليها قيمة الإرجاع ن (0-255

يحدد المثال التالي دالة والدعوة:

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

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

الإخراج:

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

التعريف التالي للدالة مع بيان عودة:

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

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

إخراج مشابه لما يلي:

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

هل هو الحصول على وظيفة قيمة الإرجاع بعد استدعاء هذه الوظيفة من خلال $.

ملاحظة: يجب أن يتم تعريف جميع وظائف قبل الاستخدام. وهذا يعني أن وظيفة يجب أن توضع في بداية النص حتى مترجم قذيفة عندما اكتشف لأول مرة، فإنه يمكن استخدامها. استدعاء الدالة فقط باستخدام اسم وظيفته.


وسائط الدالة

في شل، يمكنك تمرير المعلمات التي يتم استدعاء الدالة. في الجسم وظيفة داخل، للحصول على قيمة معلمة في شكل ن $، على سبيل المثال، 1 $ للحجة الأولى، 2 $ للمعلمة الثانية ...

وظيفة سبيل المثال مع المعلمات:

#!/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

الإخراج:

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

لاحظ أن 10 $ لا يمكن الحصول على المعلمات العاشرة، احصل على المعلمات العاشرة تحتاج $ {10}. عندما ن => 10، تحتاج إلى استخدام $ {ن} للحصول على المعلمات.

وبالإضافة إلى ذلك، هناك العديد من المعلمات للتعامل مع أحرف خاصة:

التعامل مع المعلمات تفسير
$ # أصدر عدد من المعلمات إلى برنامج نصي
$ * في عرض سلسلة واحدة كل المعلمات مرت إلى نصي
$$ رقم معرف العملية الحالية من البرنامج النصي يعمل
$! أخيرا، وهي عملية تعمل في الخلفية رقم
$ @ * $ مع نفسه، ولكن عند استخدام علامات الاقتباس، وإرجاع كل معلمة في الاقتباس.
$ - يعرض قذيفة الخيار الحالي لاستخدام نفس الأمر وظيفة محددة.
يعرض حالة خروج من الأمر الأخير. 0 يدل على عدم وجود أخطاء، وأي قيمة أخرى تشير إلى وجود خطأ.