Latest web development tutorials
×

Linux หลักสูตร

Linux หลักสูตร Linux แนะนำโดยย่อ Linux ติดตั้ง Linux ขั้นตอนการเริ่มต้นระบบ Linux โครงสร้างไดเรกทอรีระบบ Linux วิธีการแก้ปัญหาลืมรหัสผ่านของคุณ Linux เข้าสู่ระบบจากระยะไกล Linux แอตทริบิวต์แฟ้มพื้นฐาน Linux ไฟล์และไดเรกทอรีการจัดการ Linux ผู้ใช้และการจัดการกลุ่มผู้ใช้ Linux การจัดการดิสก์ Linux vi/vim Linux yum คำสั่ง

Shell หลักสูตร

Shell หลักสูตร Shell ตัวแปร Shell ผ่านพารามิเตอร์ Shell ? อาร์เรย์ Shell ผู้ประกอบการ Shell echo คำสั่ง Shell printf คำสั่ง Shell test คำสั่ง Shell การควบคุมกระบวนการ Shell ฟังก์ชัน Shell Input / output เปลี่ยนเส้นทาง Shell ไฟล์มี

Linux คู่มืออ้างอิง

Linux คำสั่ง Daquan Nginx การติดตั้งและการกำหนดค่า MySQL การติดตั้งและการกำหนดค่า

ฟังก์ชั่นเชลล์

Linux Shell สามารถเป็นฟังก์ชั่นที่ผู้ใช้กำหนดแล้วคุณสามารถโทรหาได้ง่ายในเชลล์สคริปต์

นิยามรูปแบบฟังก์ชั่นเปลือกดังนี้

[ function ] funname [()]

{

    action;

    [return int;]

}

คำอธิบาย:

  • 1 สามารถใช้ฟังก์ชั่นสนุก () ถูกกำหนดให้เป็นความสนุกส่งตรง () จะถูกกำหนดโดยไม่มีพารามิเตอร์ใด ๆ
  • 2 พารามิเตอร์ที่ส่งคืนสามารถแสดงผลบวก: ผลตอบแทนกลับมาหากไม่ได้ผลจะเป็นระยะคำสั่งสุดท้ายเป็นค่าตอบแทน ตามด้วยค่าตอบแทนของ N (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 !

ค่าตอบแทนการทำงานหลังจากเรียกฟังก์ชั่นนี้ผ่าน $? จะได้รับ

หมายเหตุ: ฟังก์ชั่นทุกคนจะต้องกำหนดก่อนการใช้งาน ซึ่งหมายความว่าการทำงานจะต้องอยู่ในจุดเริ่มต้นของสคริปต์จนล่ามเปลือกเมื่อมันถูกค้นพบครั้งแรกก็สามารถนำมาใช้ เรียกใช้ฟังก์ชันโดยใช้เพียงชื่อฟังก์ชั่น


อาร์กิวเมนต์ของฟังก์ชัน

ในกะลาคุณสามารถส่งผ่านพารามิเตอร์ที่ฟังก์ชั่นที่เรียกว่า ในร่างกายของฟังก์ชั่นภายในที่จะได้รับค่าของพารามิเตอร์ในรูปแบบของ $ n เป็นเช่น, $ 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} เมื่อ n> = 10 คุณจะต้องใช้ $ {n} ที่จะได้รับค่าพารามิเตอร์

นอกจากนี้ยังมีตัวแปรหลายที่จะจัดการกับตัวอักษรพิเศษ:

จัดการพารามิเตอร์ คำอธิบาย
$ # จำนวนพารามิเตอร์ที่ส่งผ่านไปยังสคริปต์
$ * ในการแสดงสายเดียวพารามิเตอร์ทั้งหมดส่งผ่านไปยังสคริปต์
$$ จำนวนกระบวนการ ID ปัจจุบันของสคริปต์
$ สุดท้ายกระบวนการทำงานในหมายเลข ID พื้นหลัง
$ @ * $ ด้วยเหมือนกัน แต่เมื่อคุณใช้เครื่องหมายคำพูดและผลตอบแทนแต่ละพารามิเตอร์ในเครื่องหมายคำพูด
$ - เชลล์แสดงตัวเลือกในปัจจุบันการใช้คำสั่งฟังก์ชั่นชุดเดียวกัน
$? แสดงสถานะทางออกของคำสั่งสุดท้าย 0 บ่งชี้ว่าไม่มีข้อผิดพลาดและความคุ้มค่าอื่น ๆ ที่แสดงให้เห็นข้อผิดพลาด