30 ตัวอย่างสคริปต์ทุบตี

30 Bash Script Examples




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

หัวข้อต่อไปนี้ของการเขียนโปรแกรม bash ครอบคลุมในบทความนี้







  1. สวัสดีชาวโลก
  2. คำสั่งก้อง
  3. ความคิดเห็น
  4. ความคิดเห็นหลายบรรทัด
  5. ในขณะที่ลูป
  6. สำหรับลูป
  7. รับข้อมูลผู้ใช้
  8. ถ้าคำสั่ง
  9. และเงื่อนไขถ้าคำสั่ง
  10. หรือเงื่อนไขถ้าคำสั่ง
  11. เงื่อนไขอื่นถ้าและอย่างอื่น
  12. กรณีเงื่อนไข
  13. รับข้อโต้แย้งจาก Command Line
  14. รับอาร์กิวเมนต์จากบรรทัดคำสั่งที่มีชื่อ
  15. รวมสองสตริงในตัวแปร
  16. รับสตริงย่อยของสตริง
  17. เพิ่มตัวเลข 2 ตัวลงในตัวแปร
  18. สร้างฟังก์ชัน
  19. ใช้พารามิเตอร์ของฟังก์ชัน
  20. ส่งคืนค่าจาก Script
  21. สร้างไดเรกทอรี
  22. สร้างไดเรกทอรีโดยตรวจสอบการมีอยู่
  23. อ่านไฟล์
  24. ลบไฟล์
  25. ต่อท้ายไฟล์
  26. ทดสอบว่าไฟล์มีอยู่หรือไม่
  27. ส่งอีเมล์ตัวอย่าง
  28. รับการแยกวิเคราะห์วันที่ปัจจุบัน
  29. รอคำสั่ง
  30. คำสั่งการนอนหลับ

สร้างและดำเนินการโปรแกรม BASH แรก:

คุณสามารถเรียกใช้สคริปต์ทุบตีจากเทอร์มินัลหรือโดยการเรียกใช้ไฟล์ทุบตีใดๆ รันคำสั่งต่อไปนี้จากเทอร์มินัลเพื่อรันคำสั่ง bash ที่ง่ายมาก ผลลัพธ์ของคำสั่งจะเป็น ' สวัสดีชาวโลก '.



$โยนออก 'สวัสดีชาวโลก'



เปิดตัวแก้ไขเพื่อสร้างไฟล์ทุบตี ที่นี่, นาโน ตัวแก้ไขใช้ในการสร้างไฟล์และตั้งชื่อไฟล์เป็น ' เฟิร์ส.sh'





$นาโนFirst.sh

เพิ่มสคริปต์ทุบตีต่อไปนี้ลงในไฟล์และบันทึกไฟล์

#!/bin/bash
โยนออก 'สวัสดีชาวโลก'



คุณสามารถเรียกใช้ไฟล์ bash ได้สองวิธี วิธีหนึ่งคือการใช้คำสั่ง bash และอีกวิธีหนึ่งคือการตั้งค่าสิทธิ์ในการดำเนินการให้กับไฟล์ bash และเรียกใช้ไฟล์ ทั้งสองวิธีแสดงไว้ที่นี่

$ทุบตีFirst.sh

หรือ,

$chmoda+x First.sh
$./First.sh

ไปที่ด้านบน

การใช้คำสั่ง echo:

คุณสามารถใช้คำสั่ง echo พร้อมตัวเลือกต่างๆ ตัวเลือกที่มีประโยชน์บางตัวถูกกล่าวถึงในตัวอย่างต่อไปนี้ เมื่อคุณใช้ ' โยนออก ' คำสั่งที่ไม่มีตัวเลือกใด ๆ จากนั้นจะมีการขึ้นบรรทัดใหม่โดยค่าเริ่มต้น '-NS' ตัวเลือกใช้สำหรับพิมพ์ข้อความโดยไม่ต้องขึ้นบรรทัดใหม่ และ '-และ' ตัวเลือกใช้เพื่อลบอักขระแบ็กสแลชออกจากเอาต์พุต สร้างไฟล์ทุบตีใหม่ด้วยชื่อ ' echo_example.sh ’ และเพิ่มสคริปต์ต่อไปนี้

#!/bin/bash
โยนออก 'การพิมพ์ข้อความด้วยการขึ้นบรรทัดใหม่'
โยนออก -NS 'การพิมพ์ข้อความโดยไม่ต้องขึ้นบรรทัดใหม่'
โยนออก -และ 'NSการถอดNSแบ็กสแลชNSตัวอักษรNS'

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ทุบตีecho_example.sh

ไปที่ด้านบน

การใช้ความคิดเห็น:

'#' สัญลักษณ์ใช้เพื่อเพิ่มความคิดเห็นบรรทัดเดียวในสคริปต์ทุบตี สร้างไฟล์ใหม่ชื่อ ' comment_example.sh' และเพิ่มสคริปต์ต่อไปนี้ด้วยความคิดเห็นบรรทัดเดียว

#!/bin/bash

# เพิ่มค่าตัวเลขสองค่า
((ผลรวม=25+35))

#พิมพ์ผล
โยนออก $sum

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ทุบตีcomment_example.sh

ไปที่ด้านบน

การใช้ความคิดเห็นหลายบรรทัด:

คุณสามารถใช้ความคิดเห็นหลายบรรทัดในการทุบตีได้หลายวิธี วิธีง่ายๆ แสดงในตัวอย่างต่อไปนี้ สร้างทุบตีใหม่ชื่อ 'ความคิดเห็นหลายบรรทัด.sh' และเพิ่มสคริปต์ต่อไปนี้ ที่นี่, ':' และ ' สัญลักษณ์ใช้เพื่อเพิ่มความคิดเห็นหลายบรรทัดในสคริปต์ทุบตี สคริปต์ต่อไปนี้จะคำนวณกำลังสองของ 5

#!/bin/bash
:'
สคริปต์ต่อไปนี้คำนวณ
ค่ากำลังสองของตัวเลข 5
'

((พื้นที่=5*5))
โยนออก $พื้นที่

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ทุบตีmultiline-comment.sh

คุณสามารถตรวจสอบลิงก์ต่อไปนี้เพื่อทราบข้อมูลเพิ่มเติมเกี่ยวกับการใช้ความคิดเห็น bash

https://linuxhint.com/bash_comments/

ไปที่ด้านบน

ใช้ขณะวนซ้ำ:

สร้างไฟล์ทุบตีด้วยชื่อ 'while_example.sh', รู้จักการใช้ ในขณะที่ ห่วง ในตัวอย่าง ในขณะที่ ลูปจะวนซ้ำสำหรับ 5 ครั้ง คุณค่าของ นับ ตัวแปรจะเพิ่มขึ้นโดย 1 ในแต่ละขั้นตอน เมื่อค่าของ นับ ตัวแปรจะ 5 จากนั้น ในขณะที่ ลูปจะสิ้นสุดลง

#!/bin/bash
ถูกต้อง=จริง
นับ=1
ในขณะที่ [ $valid ]
ทำ
โยนออก $count
ถ้า [ $count -eq 5 ];
แล้ว
หยุดพัก
เป็น
((นับ++))
เสร็จแล้ว

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ทุบตีwhile_example.sh

คุณสามารถตรวจสอบลิงค์ต่อไปนี้เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการใช้ while loop

https://linuxhint.com/bash-while-loop-examples/

ไปที่ด้านบน

ใช้สำหรับวนซ้ำ:

พื้นฐาน สำหรับ การประกาศวนซ้ำแสดงในตัวอย่างต่อไปนี้ สร้างไฟล์ชื่อ ' for_example.sh ’ และเพิ่มสคริปต์ต่อไปนี้โดยใช้ สำหรับ ห่วง ที่นี่, สำหรับ ลูปจะวนซ้ำสำหรับ 10 ครั้งและพิมพ์ค่าทั้งหมดของตัวแปร เคาน์เตอร์ ในบรรทัดเดียว

#!/bin/bash
สำหรับ (( เคาน์เตอร์=10; เคาน์เตอร์>0; เคาน์เตอร์--))
ทำ
โยนออก -NS '$เคาน์เตอร์'
เสร็จแล้ว
printf 'NS'

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ทุบตีfor_example.sh

คุณสามารถใช้ for วนซ้ำเพื่อวัตถุประสงค์และวิธีต่างๆ ในสคริปต์ทุบตีของคุณ คุณสามารถตรวจสอบลิงก์ต่อไปนี้เพื่อทราบข้อมูลเพิ่มเติมเกี่ยวกับการใช้ for วนซ้ำ

https://linuxhint.com/bash-for-loop-examples/

ไปที่ด้านบน

รับข้อมูลผู้ใช้:

' อ่าน ' คำสั่งใช้เพื่อรับข้อมูลจากผู้ใช้ใน bash สร้างไฟล์ชื่อ ' user_input.sh ’ และเพิ่มสคริปต์ต่อไปนี้เพื่อรับข้อมูลจากผู้ใช้ ที่นี่ ค่าสตริงหนึ่งค่าจะถูกนำมาจากผู้ใช้และแสดงค่าโดยการรวมค่าสตริงอื่นๆ

#!/bin/bash
โยนออก 'ใส่ชื่อของคุณ'
อ่านชื่อ
โยนออก 'ยินดีต้อนรับ$nameไปยัง Linuxคำแนะนำ '

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ทุบตีuser_input.sh

คุณสามารถตรวจสอบลิงก์ต่อไปนี้เพื่อทราบข้อมูลเพิ่มเติมเกี่ยวกับการใช้ข้อมูลของผู้ใช้

https://linuxhint.com/bash-script-user-input/

ไปที่ด้านบน

การใช้คำสั่ง if:

คุณสามารถใช้ if เงื่อนไขที่มีเงื่อนไขเดียวหรือหลายเงื่อนไข บล็อกเริ่มต้นและสิ้นสุดของคำสั่งนี้กำหนดโดย 'ถ้า' และ 'เป็น' . สร้างไฟล์ชื่อ ' simple_if.sh ’ ด้วยสคริปต์ต่อไปนี้เพื่อทราบการใช้งาน ถ้า คำสั่งในทุบตี ที่นี่, 10 ถูกกำหนดให้กับตัวแปร NS . ถ้าค่าของ $n น้อยกว่า 10 แล้วผลลัพธ์จะเป็น เป็นตัวเลขหนึ่งหลัก มิฉะนั้นผลลัพธ์จะเป็น เป็นตัวเลขสองหลัก . สำหรับการเปรียบเทียบ '-Lt' ถูกใช้ที่นี่ สำหรับการเปรียบเทียบ คุณสามารถใช้ '-eq' สำหรับ ความเท่าเทียมกัน , '-เกิด' สำหรับ ไม่เท่าเทียมกัน และ '-gt' สำหรับ มากกว่า ในสคริปต์ทุบตี

#!/bin/bash
NS=10
ถ้า [ $n -lt 10 ];
แล้ว
โยนออก 'มันเป็นตัวเลขหนึ่งหลัก'
อื่น
โยนออก 'มันเป็นตัวเลขสองหลัก'
เป็น

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ทุบตีsimple_if.sh

ไปที่ด้านบน

การใช้คำสั่ง if กับตรรกะ AND:

เงื่อนไขตรรกะประเภทต่างๆ สามารถใช้ในคำสั่ง if ที่มีเงื่อนไขตั้งแต่สองเงื่อนไขขึ้นไป วิธีที่คุณสามารถกำหนดหลายเงื่อนไขในคำสั่ง if โดยใช้ และ ตรรกะแสดงในตัวอย่างต่อไปนี้ '&&' ใช้ในการสมัคร และ ตรรกะของ ถ้า คำแถลง. สร้างไฟล์ชื่อ 'if_with_AND.sh' เพื่อตรวจสอบรหัสต่อไปนี้ ที่นี่ค่าของ ชื่อผู้ใช้ และ รหัสผ่าน ตัวแปรจะถูกนำมาจากผู้ใช้และเปรียบเทียบกับ ' ผู้ดูแลระบบ ' และ ' ความลับ ’ หากทั้งสองค่าตรงกัน ผลลัพธ์จะเป็น ผู้ใช้ที่ถูกต้อง มิฉะนั้นผลลัพธ์จะเป็น ผู้ใช้ที่ไม่ถูกต้อง .

! /เป็น/ทุบตี

โยนออก 'ป้อนชื่อผู้ใช้'
อ่านชื่อผู้ใช้
โยนออก 'ใส่รหัสผ่าน'
อ่านรหัสผ่าน

ถ้า [[ ( $ชื่อผู้ใช้=='ผู้ดูแลระบบ' && $รหัสผ่าน=='ความลับ' ) ]];แล้ว
โยนออก 'ผู้ใช้ที่ถูกต้อง'
อื่น
โยนออก 'ผู้ใช้ที่ไม่ถูกต้อง'
เป็น

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ทุบตีif_with_AND.sh

ไปที่ด้านบน

การใช้คำสั่ง if กับตรรกะ OR:

' || ’ ใช้เพื่อกำหนด หรือ ตรรกะใน ถ้า สภาพ. สร้างไฟล์ชื่อ 'if_with_OR.sh' ด้วยรหัสต่อไปนี้เพื่อตรวจสอบการใช้งานของ หรือ ตรรกะของ ถ้า คำแถลง. ที่นี่ค่าของ NS จะถูกนำมาจากผู้ใช้ ถ้าค่าเท่ากับ สิบห้า หรือ สี่ห้า แล้วผลลัพธ์จะเป็น คุณชนะเกม มิฉะนั้นผลลัพธ์จะเป็น คุณแพ้เกม .

#!/bin/bash

โยนออก 'ป้อนหมายเลขใด ๆ '
อ่านNS

ถ้า [[ ( $n -eq สิบห้า || $n -eq สี่ห้า ) ]]
แล้ว
โยนออก 'คุณชนะเกม'
อื่น
โยนออก 'คุณแพ้เกม'
เป็น

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ทุบตีif_with_OR.sh

ไปที่ด้านบน

ใช้คำสั่ง else if:

การใช้ ถ้า เงื่อนไขนั้นแตกต่างกันเล็กน้อยใน bash เมื่อเทียบกับภาษาโปรแกรมอื่น ' เอลฟ์ ’ ใช้เพื่อกำหนด ถ้า เงื่อนไขในการทุบตี สร้างไฟล์ชื่อ ' elseif_example.sh ’ และเพิ่มสคริปต์ต่อไปนี้เพื่อตรวจสอบวิธีการ ถ้า ถูกกำหนดไว้ในสคริปต์ทุบตี

#!/bin/bash

โยนออก 'ป้อนหมายเลขนำโชคของคุณ'
อ่านNS

ถ้า [ $n -eq 101 ];
แล้ว
โยนออก 'ได้รางวัลที่ 1'
เอลฟ์ [ $n -eq 510 ];
แล้ว
โยนออก 'ได้รางวัลที่ 2'
เอลฟ์ [ $n -eq 999 ];
แล้ว
โยนออก 'ได้รางวัลที่ 3'

อื่น
โยนออก 'ขอโทษนะ ไว้คราวหน้าลองใหม่นะ'
เป็น

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ทุบตีelseif_example.sh

ไปที่ด้านบน

การใช้คำชี้แจงกรณี:

กรณี คำสั่งใช้แทน if-elseif-อื่น คำแถลง. บล็อกเริ่มต้นและสิ้นสุดของคำสั่งนี้ถูกกำหนดโดย ' กรณี ' และ ' esac ’ สร้างไฟล์ใหม่ชื่อ ' case_example.sh ’ และเพิ่มสคริปต์ต่อไปนี้ ผลลัพธ์ของสคริปต์ต่อไปนี้จะเหมือนกับก่อนหน้า ถ้า ตัวอย่าง.

#!/bin/bash

โยนออก 'ป้อนหมายเลขนำโชคของคุณ'
อ่านNS
กรณี $n ใน
101)
โยนออก โยนออก 'ได้รางวัลที่ 1' ;;
510)
โยนออก 'ได้รางวัลที่ 2' ;;
999)
โยนออก 'ได้รางวัลที่ 3' ;;
*)
โยนออก 'ขอโทษนะ ไว้คราวหน้าลองใหม่นะ' ;;
esac

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ทุบตีcase_example.sh

ไปที่ด้านบน

รับอาร์กิวเมนต์จาก Command Line:

สคริปต์ทุบตีสามารถอ่านอินพุตจากอาร์กิวเมนต์บรรทัดคำสั่งเหมือนกับภาษาโปรแกรมอื่นๆ ตัวอย่างเช่น, $ 1 และ $ 2 ตัวแปรใช้เพื่ออ่านอาร์กิวเมนต์บรรทัดคำสั่งแรกและที่สอง สร้างไฟล์ชื่อ command_line.sh และเพิ่มสคริปต์ต่อไปนี้ ค่าอาร์กิวเมนต์สองค่าที่อ่านโดยสคริปต์ต่อไปนี้ และพิมพ์จำนวนอาร์กิวเมนต์ทั้งหมดและค่าอาร์กิวเมนต์เป็นเอาต์พุต

#!/bin/bash
โยนออก 'อาร์กิวเมนต์ทั้งหมด : $#'
โยนออก 'อาร์กิวเมนต์ที่ 1 = $1'
โยนออก 'อาร์กิวเมนต์ที่ 2 = $2'

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ทุบตีcommand_line.sh คำแนะนำสำหรับ Linux

คุณสามารถตรวจสอบลิงก์ต่อไปนี้เพื่อทราบข้อมูลเพิ่มเติมเกี่ยวกับการใช้อาร์กิวเมนต์บรรทัดคำสั่ง

https://linuxhint.com/command_line_arguments_bash_script/

ไปที่ด้านบน

รับอาร์กิวเมนต์จากบรรทัดคำสั่งพร้อมชื่อ:

วิธีอ่านอาร์กิวเมนต์บรรทัดคำสั่งพร้อมชื่อแสดงในสคริปต์ต่อไปนี้ สร้างไฟล์ชื่อ ' command_line_names.sh' และเพิ่มรหัสต่อไปนี้ ที่นี่สองอาร์กิวเมนต์ NS และ และ ถูกอ่านโดยสคริปต์นี้และพิมพ์ผลรวมของ X และ Y

#!/bin/bash
สำหรับโกรธใน ' [ป้องกันอีเมล] '
ทำ
ดัชนี= $(โยนออก $ arg | ตัด -f1 -NS=)
ชั่วโมง= $(โยนออก $ arg | ตัด -f2 -NS=)
กรณี $index ใน
NS) NS=$ ชั่วโมง;;

และ) และ=$ ชั่วโมง;;

*)
esac
เสร็จแล้ว
((ผลลัพธ์= x + y))
โยนออก 'X + Y =$ผลลัพธ์'

เรียกใช้ไฟล์ด้วยคำสั่ง bash และอาร์กิวเมนต์บรรทัดคำสั่งสองรายการ

$ทุบตีcommand_line_namesNS=สี่ห้า และ=30

ไปที่ด้านบน

รวมตัวแปรสตริง:

คุณสามารถรวมตัวแปรสตริงใน bash ได้อย่างง่ายดาย สร้างไฟล์ชื่อ string_combine.sh และเพิ่มสคริปต์ต่อไปนี้เพื่อตรวจสอบว่าคุณสามารถรวมตัวแปรสตริงใน bash ได้อย่างไรโดยการวางตัวแปรเข้าด้วยกันหรือใช้ '+' โอเปอเรเตอร์

#!/bin/bash

string1='ลินุกซ์'
string2='คำใบ้'
โยนออก '$string1$string2'
string3=$string1+$string2
string3+=' เป็นไซต์บล็อกกวดวิชาที่ดี'
โยนออก $string3

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ทุบตีstring_combine.sh

ไปที่ด้านบน

รับสตริงย่อยของสตริง:

เช่นเดียวกับภาษาการเขียนโปรแกรมอื่น bash ไม่มีฟังก์ชันในตัวที่จะตัดค่าจากข้อมูลสตริงใดๆ แต่คุณสามารถทำงานของสตริงย่อยได้ด้วยวิธีอื่นใน bash ที่แสดงในสคริปต์ต่อไปนี้ หากต้องการทดสอบสคริปต์ ให้สร้างไฟล์ชื่อ ' substring_example.sh ’ ด้วยรหัสต่อไปนี้ ที่นี่ค่า 6 ระบุจุดเริ่มต้นจากตำแหน่งที่สตริงย่อยจะเริ่มต้นและ 5 ระบุความยาวของสตริงย่อย

#!/bin/bash
สตรัท='เรียนรู้ Linux จาก LinuxHint'
subStr=$ {Str: 6: 5}
โยนออก $subStr

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ทุบตีsubstring_example.sh

ไปที่ด้านบน

เพิ่มสองตัวเลข:

คุณสามารถดำเนินการทางคณิตศาสตร์ใน bash ได้หลายวิธี วิธีที่คุณสามารถเพิ่มตัวเลขจำนวนเต็มสองตัวใน bash โดยใช้วงเล็บคู่จะแสดงในสคริปต์ต่อไปนี้ สร้างไฟล์ชื่อ ' add_numbers.sh ’ ด้วยรหัสต่อไปนี้ ค่าจำนวนเต็มสองค่าจะถูกนำออกจากผู้ใช้และพิมพ์ผลลัพธ์ของการบวก

#!/bin/bash
โยนออก 'ป้อนหมายเลขแรก'
อ่านNS
โยนออก 'ป้อนหมายเลขที่สอง'
อ่านและ
(( ผลรวม= x + y))
โยนออก 'ผลลัพธ์ของการบวก=$sum'

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ทุบตีadd_numbers.sh

คุณสามารถตรวจสอบลิงก์ต่อไปนี้เพื่อทราบข้อมูลเพิ่มเติมเกี่ยวกับ bash arithmetic

https://linuxhint.com/bash_arithmetic_operations/

ไปที่ด้านบน

สร้างฟังก์ชัน:

วิธีสร้างฟังก์ชันอย่างง่ายและการเรียกใช้ฟังก์ชันจะแสดงในสคริปต์ต่อไปนี้ สร้างไฟล์ชื่อ ' function_example.sh ’ และเพิ่มรหัสต่อไปนี้ คุณสามารถเรียกใช้ฟังก์ชันใดก็ได้โดยใช้ชื่อเท่านั้นโดยไม่ต้องใช้วงเล็บในสคริปต์ทุบตี

#!/bin/bash
การทำงานF1()
{
โยนออก 'ฉันชอบการเขียนโปรแกรมทุบตี'
}

F1

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ทุบตีfunction_example.sh

ไปที่ด้านบน

สร้างฟังก์ชันด้วยพารามิเตอร์:

Bash ไม่สามารถประกาศพารามิเตอร์หรืออาร์กิวเมนต์ของฟังก์ชันได้ในขณะที่ประกาศฟังก์ชัน แต่คุณสามารถใช้พารามิเตอร์ในฟังก์ชันได้โดยใช้ตัวแปรอื่น หากมีการส่งค่าสองค่าในขณะที่เรียกใช้ฟังก์ชัน ตัวแปร $1 และ $2 จะถูกใช้สำหรับอ่านค่า สร้างไฟล์ชื่อ ' ฟังก์ชัน|_parameter.sh ’ และเพิ่มรหัสต่อไปนี้ ที่นี่ฟังก์ชั่น ' สี่เหลี่ยมผืนผ้า_พื้นที่' จะคำนวณพื้นที่ของสี่เหลี่ยมตามค่าพารามิเตอร์

#!/bin/bash

สี่เหลี่ยมผืนผ้า_พื้นที่() {
พื้นที่= $(($ 1 * $ 2))
โยนออก 'พื้นที่คือ:$พื้นที่'
}

สี่เหลี่ยมผืนผ้า_พื้นที่10 ยี่สิบ

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ทุบตีfunction_parameter.sh

ไปที่ด้านบน

ส่งคืนค่าจากฟังก์ชัน:

ฟังก์ชัน Bash ส่งผ่านทั้งค่าตัวเลขและสตริง วิธีที่คุณสามารถส่งค่าสตริงจากฟังก์ชันได้ดังแสดงในตัวอย่างต่อไปนี้ สร้างไฟล์ชื่อ ' function_return.sh ’ และเพิ่มรหัสต่อไปนี้ ฟังก์ชั่น, การทักทาย() ส่งคืนค่าสตริงลงในตัวแปร ชั่วโมง ซึ่งพิมพ์ในภายหลังโดยรวมกับสตริงอื่นๆ

#!/bin/bash
การทำงานการทักทาย() {

NS='สวัสดี,$name'
โยนออก $ str

}

โยนออก 'ใส่ชื่อของคุณ'
อ่านชื่อ

ชั่วโมง= $(การทักทาย)
โยนออก 'คืนค่าของฟังก์ชันคือ$ ชั่วโมง'

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ทุบตีfunction_return.sh

คุณสามารถตรวจสอบลิงก์ต่อไปนี้เพื่อทราบข้อมูลเพิ่มเติมเกี่ยวกับการใช้ฟังก์ชันทุบตี

https://linuxhint.com/return-string-bash-functions/

ไปที่ด้านบน

สร้างไดเรกทอรี:

Bash ใช้ ' mkdir ' คำสั่งสร้างไดเร็กทอรีใหม่ สร้างไฟล์ชื่อ ' make_directory.sh ’ และเพิ่มรหัสต่อไปนี้เพื่อรับชื่อไดเร็กทอรีใหม่จากผู้ใช้ หากไม่มีชื่อไดเร็กทอรีในตำแหน่งปัจจุบัน มันจะสร้างไดเร็กทอรี มิฉะนั้น โปรแกรมจะแสดงข้อผิดพลาด

#!/bin/bash
โยนออก 'ป้อนชื่อไดเรกทอรี'
อ่านnewdir
``mkdir $ newdir``

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ทุบตีmake_directory.sh

ไปที่ด้านบน

สร้างไดเรกทอรีโดยตรวจสอบการมีอยู่:

หากคุณต้องการตรวจสอบการมีอยู่ของไดเร็กทอรีในตำแหน่งปัจจุบันก่อนดำเนินการ ' mkdir ' จากนั้นคุณสามารถใช้รหัสต่อไปนี้ '-NS ’ ใช้สำหรับทดสอบไดเร็กทอรีเฉพาะว่ามีหรือไม่ สร้างไฟล์ชื่อ ' directory_exist.sh' และเพิ่มโค้ดต่อไปนี้เพื่อสร้างไดเร็กทอรีโดยตรวจสอบการมีอยู่

#!/bin/bash
โยนออก 'ป้อนชื่อไดเรกทอรี'
อ่านndr
ถ้า [ -NS '$ndir' ]
แล้ว
โยนออก 'มีไดเรกทอรีอยู่'
อื่น
``mkdir $ndir``
โยนออก 'สร้างไดเร็กทอรี'
เป็น

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ทุบตีdirectory_exist.sh

คุณสามารถตรวจสอบลิงก์ต่อไปนี้เพื่อทราบข้อมูลเพิ่มเติมเกี่ยวกับการสร้างไดเรกทอรี

https://linuxhint.com/bash_mkdir_not_existent_path/

ไปที่ด้านบน

อ่านไฟล์:

คุณสามารถอ่านไฟล์ทีละบรรทัดใน bash โดยใช้ลูป สร้างไฟล์ชื่อ ' read_file.sh ' และเพิ่มรหัสต่อไปนี้เพื่ออ่านไฟล์ที่มีอยู่ชื่อ ' book.txt '.

#!/bin/bash
ไฟล์='book.txt'
ในขณะที่ อ่านไลน์;ทำ
โยนออก $line
เสร็จแล้ว < $ไฟล์

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ทุบตีread_file.sh

เรียกใช้คำสั่งต่อไปนี้เพื่อตรวจสอบเนื้อหาต้นฉบับของ ' book.txt ' ไฟล์.

$แมวbook.txt

คุณสามารถตรวจสอบลิงก์ต่อไปนี้เพื่อทราบวิธีต่างๆ ในการอ่านไฟล์

https://linuxhint.com/read_file_line_by_line_bash/

ไปที่ด้านบน

ลบไฟล์:

' rm ' คำสั่ง ใช้ใน bash เพื่อลบไฟล์ใด ๆ สร้างไฟล์ชื่อ ' delete_file.sh ’ ด้วยรหัสต่อไปนี้เพื่อนำชื่อไฟล์จากผู้ใช้และลบออก ที่นี่, '-ผม' ใช้ตัวเลือกเพื่อขออนุญาตจากผู้ใช้ก่อนที่จะลบไฟล์

#!/bin/bash
โยนออก 'ป้อนชื่อไฟล์ที่จะลบ'
อ่านfn
rm -ผม $fn

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ลส
$ทุบตีdelete_file.sh
$ลส

ไปที่ด้านบน

ต่อท้ายไฟล์:

ข้อมูลใหม่สามารถเพิ่มลงในไฟล์ที่มีอยู่โดยใช้ '>>' โอเปอเรเตอร์ในทุบตี สร้างไฟล์ชื่อ 'append_file.sh ’ และเพิ่มรหัสต่อไปนี้เพื่อเพิ่มเนื้อหาใหม่ที่ส่วนท้ายของไฟล์ ที่นี่, ' การเรียนรู้ Laravel 5 ' จะถูกเพิ่มที่ ' book.txt' ไฟล์หลังจากรันสคริปต์

#!/bin/bash

โยนออก 'ก่อนต่อท้ายไฟล์'
แมวbook.txt

โยนออก 'การเรียนรู้ Laravel 5'>>book.txt
โยนออก 'หลังจากต่อท้ายไฟล์'
แมวbook.txt

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ทุบตีappend_file.sh

ไปที่ด้านบน

ทดสอบว่ามีไฟล์อยู่หรือไม่:

คุณสามารถตรวจสอบการมีอยู่ของไฟล์ใน bash โดยใช้ '-และ' หรือ '-NS' ตัวเลือก. '-NS' ตัวเลือกที่ใช้ในสคริปต์ต่อไปนี้เพื่อทดสอบการมีอยู่ของไฟล์ สร้างไฟล์ชื่อ ' file_exist.sh ’ และเพิ่มรหัสต่อไปนี้ ที่นี่ ชื่อไฟล์จะส่งผ่านจากบรรทัดคำสั่ง

#!/bin/bash
ชื่อไฟล์=$ 1
ถ้า [ -NS '$ชื่อไฟล์' ];แล้ว
โยนออก 'แฟ้มที่มีอยู่'
อื่น
โยนออก 'ไม่มีไฟล์'
เป็น

รันคำสั่งต่อไปนี้เพื่อตรวจสอบการมีอยู่ของไฟล์ ที่นี่, book.txt ไฟล์ที่มีอยู่และ book2.txt ไม่มีอยู่ในตำแหน่งปัจจุบัน

$ลส
$ทุบตีfile_exist.sh book.txt
$ทุบตีfile_exist.sh book2.txt

ไปที่ด้านบน

ส่งอีเมล:

คุณสามารถส่งอีเมลโดยใช้ ' จดหมาย ' หรือ ' ส่งอีเมล์ ' สั่งการ. ก่อนใช้คำสั่งเหล่านี้ คุณต้องติดตั้งแพ็คเกจที่จำเป็นทั้งหมดก่อน สร้างไฟล์ชื่อ ' mail_example.sh ’ และเพิ่มรหัสต่อไปนี้เพื่อส่งอีเมล

#!/bin/bash
ผู้รับ=ผู้ดูแลระบบ@example.com
เรื่อง=ทักทาย
ข้อความ=ยินดีต้อนรับสู่เว็บไซต์ของเรา
``จดหมาย-NS $Subject $ผู้รับ <<< $ข้อความ``

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ทุบตีmail_example.sh

ไปที่ด้านบน

รับวันที่ปัจจุบันแยกวิเคราะห์:

คุณสามารถรับค่าวันที่และเวลาของระบบปัจจุบันโดยใช้ ` วันที่ `คำสั่ง ทุกส่วนของค่าวันที่และเวลาสามารถแยกวิเคราะห์ได้โดยใช้ ' Y', 'm', 'd', 'H', 'M' และ ' NS' . สร้างไฟล์ใหม่ชื่อ ' date_parse.sh' และเพิ่มรหัสต่อไปนี้เพื่อแยกค่าวัน เดือน ปี ชั่วโมง นาที และวินาที

#!/bin/bash
ปี=``วันที่+%และ``
เดือน=``วันที่+%NS``
วัน=``วันที่+%NS``
ชั่วโมง=``วันที่+%ชม``
นาที=``วันที่+%NS``
ที่สอง=``วันที่+%NS``
โยนออก ``วันที่``
โยนออก 'วันที่ปัจจุบันคือ:$วัน-$เดือน-$Year'
โยนออก 'เวลาปัจจุบันคือ:$ชั่วโมง:$นาที:$วินาที'

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ทุบตีdate_parse.sh

ไปที่ด้านบน

รอคำสั่ง:

รอ เป็นคำสั่งในตัวของ Linux ที่รอดำเนินการกระบวนการทำงานใดๆ ให้เสร็จสิ้น รอ คำสั่งใช้กับ ID กระบวนการหรือรหัสงานเฉพาะ หากไม่ได้ระบุรหัสกระบวนการหรือรหัสงานด้วยคำสั่ง wait มันจะรอให้กระบวนการลูกปัจจุบันทั้งหมดเสร็จสิ้นและส่งคืนสถานะการออก สร้างไฟล์ชื่อ ' wait_example.sh' และเพิ่มสคริปต์ต่อไปนี้

#!/bin/bash
โยนออก 'รอคำสั่ง' &
process_id=$!
รอ $process_id
โยนออก 'ออกจากสถานะ $?'

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ทุบตีwait_example.sh

คุณสามารถตรวจสอบลิงก์ต่อไปนี้เพื่อทราบข้อมูลเพิ่มเติมเกี่ยวกับคำสั่ง wait

รอคำสั่งใน Linux

ไปที่ด้านบน

คำสั่งสลีป:

เมื่อคุณต้องการหยุดการทำงานของคำสั่งใดๆ ชั่วคราวในช่วงเวลาที่กำหนด คุณสามารถใช้ นอน สั่งการ. คุณสามารถกำหนดจำนวนการหน่วงเวลาโดย วินาที (s), นาที (m), ชั่วโมง (h) และวัน (d) สร้างไฟล์ชื่อ 'sleep_example.sh' และเพิ่มสคริปต์ต่อไปนี้ สคริปต์นี้จะรอเป็นเวลา 5 วินาทีหลังจากรัน

#!/bin/bash

โยนออกรอสำหรับ 5วินาที
นอน 5
โยนออกสมบูรณ์

เรียกใช้ไฟล์ด้วยคำสั่ง bash

$ทุบตีsleep_example.sh

คุณสามารถตรวจสอบลิงก์ต่อไปนี้เพื่อทราบข้อมูลเพิ่มเติมเกี่ยวกับคำสั่ง sleep

https://linuxhint.com/sleep_command_linux/

ไปที่ด้านบน

หวังว่าหลังจากอ่านบทความนี้แล้ว คุณมีแนวคิดพื้นฐานเกี่ยวกับภาษาสคริปต์ทุบตีและคุณจะสามารถนำไปใช้ได้ตามความต้องการของคุณ