ไวยากรณ์คำสั่งสลีป:
จำนวนการนอนหลับ[ต่อท้าย]
คุณสามารถใช้จำนวนเต็มหรือเศษส่วนเป็นค่าเวลาได้ ส่วนต่อท้ายเป็นทางเลือกสำหรับคำสั่งนี้ หากคุณไม่ใส่คำต่อท้าย ค่าเวลาจะถูกคำนวณเป็นวินาทีโดยค่าเริ่มต้น คุณสามารถใช้ได้ NS, m, h และ NS เป็นค่าต่อท้าย ตัวอย่างต่อไปนี้แสดงการใช้คำสั่ง sleep ที่มีส่วนต่อท้ายต่างกัน
ตัวอย่างที่ 1: คำสั่ง sleep โดยไม่มีคำต่อท้าย
ในสคริปต์ต่อไปนี้ คำสั่ง sleep ใช้กับค่าตัวเลข 2 เท่านั้นและไม่มีการใช้คำต่อท้าย ดังนั้น หากคุณเรียกใช้สคริปต์ ให้ใช้ string เสร็จสิ้นภารกิจ จะพิมพ์หลังจากรอ 2 วินาที
#!/bin/bash
โยนออก 'รอ 2 วินาที...'
นอน 2
โยนออก 'งานเสร็จสมบูรณ์'
เรียกใช้ไฟล์ทุบตีด้วย เวลา คำสั่งแสดงค่าเวลาสามประเภทในการรันสคริปต์ ผลลัพธ์แสดงเวลาที่ใช้โดยระบบ ผู้ใช้ และเวลาจริง
$เวลา ทุบตีsleep1.sh
เอาท์พุท:
ตัวอย่างที่ 2: คำสั่ง sleep พร้อมคำต่อท้ายนาที
ในสคริปต์ต่อไปนี้ ' NS ' ใช้เป็นคำต่อท้ายด้วยคำสั่ง sleep ที่นี่ ค่าเวลาคือ 0.05 นาที หลังจากรอ 0.05 นาที เสร็จสิ้นภารกิจ ข้อความจะถูกพิมพ์
#!/bin/bashโยนออก 'รอ 0.05 นาที...'
นอน0.05m
โยนออก 'งานเสร็จสมบูรณ์'
เรียกใช้สคริปต์ด้วย เวลา คำสั่งเหมือนตัวอย่างแรก
$เวลา ทุบตีsleep2.shเอาท์พุท:
ตัวอย่างที่ 3: คำสั่ง sleep พร้อมคำต่อท้ายชั่วโมง
ในสคริปต์ต่อไปนี้ ' ชม ' ใช้เป็นคำต่อท้ายด้วยคำสั่ง sleep ที่นี่ ค่าเวลาคือ 0.003 ชั่วโมง หลังจากรอ 0.003 ชั่วโมง เสร็จสิ้นภารกิจ ควรพิมพ์บนหน้าจอแต่ต้องใช้เวลามากกว่าความเป็นจริงเมื่อ 'ชม' ใช้คำต่อท้าย
#!/bin/bashโยนออก 'รอ 0.003 ชั่วโมง...'
นอน0.003 ชม
โยนออก 'งานเสร็จสมบูรณ์'
$เวลา ทุบตีsleep3.sh
เอาท์พุท:
ตัวอย่างที่ 4: คำสั่ง sleep พร้อม loop
คุณสามารถใช้คำสั่ง sleep เพื่อวัตถุประสงค์ต่างๆ ในตัวอย่างต่อไปนี้ คำสั่ง sleep ใช้กับ while loop เริ่มแรก ค่าของตัวแปร NS ถูกกำหนดเป็น 1 และค่าของ NS จะเพิ่มขึ้นโดย 1 สำหรับ 4 ครั้งในทุก ๆ 2 ช่วงเวลาวินาที ดังนั้น เมื่อใดที่คุณจะเรียกใช้สคริปต์ แต่ละเอาต์พุตจะปรากฏขึ้นหลังจากรอ 2 วินาที
#!/bin/bashNS=1
ในขณะที่ [ $n -lt 5 ]
ทำ
โยนออก 'ค่าของ n คือตอนนี้$n'
นอน2s
โยนออก ''
((NS=$n+1))
เสร็จแล้ว
เอาท์พุท:
ตัวอย่างที่ 5: คำสั่ง sleep ในเทอร์มินัลด้วยคำสั่งอื่น
สมมติว่าคุณต้องการเรียกใช้หลายคำสั่งและตั้งค่าช่วงเวลาคงที่ระหว่างผลลัพธ์ของสองคำสั่ง จากนั้นคุณสามารถใช้คำสั่ง sleep เพื่อทำงานนั้นได้ ในตัวอย่างนี้ คำสั่ง ลส และ pwd อยู่กับ นอน สั่งการ. หลังจากดำเนินการคำสั่งแล้ว ลส คำสั่งจะแสดงรายการไดเร็กทอรีของไดเร็กทอรีปัจจุบันและแสดงพาธไดเร็กทอรีปัจจุบันหลังจากรอ 2 วินาที
$ลส && นอน 2 && pwdเอาท์พุท:
ตัวอย่างที่ 6: การใช้คำสั่ง sleep จาก command prompt
คำสั่ง sleep ใช้ระหว่างคำสั่ง echo สองคำสั่งในตัวอย่างต่อไปนี้ ค่าเวลาสามค่าจะแสดงขึ้นหลังจากดำเนินการคำสั่ง
$เวลา (โยนออก 'เริ่ม';นอน 5;โยนออก 'จบ')เอาท์พุท:
คำสั่ง sleep เป็นคำสั่งที่มีประโยชน์เมื่อคุณต้องการเขียนสคริปต์ทุบตีด้วยคำสั่งหรืองานหลายคำสั่ง ผลลัพธ์ของคำสั่งใดๆ อาจต้องใช้เวลาเป็นจำนวนมาก และคำสั่งอื่นๆ จำเป็นต้องรอให้งานของคำสั่งก่อนหน้าเสร็จสิ้น ตัวอย่างเช่น คุณต้องการดาวน์โหลดไฟล์ตามลำดับและไม่สามารถเริ่มการดาวน์โหลดครั้งถัดไปได้ก่อนที่จะทำการดาวน์โหลดก่อนหน้านี้ให้เสร็จสิ้น ในกรณีนี้ ควรใช้คำสั่ง sleep ก่อนการดาวน์โหลดแต่ละครั้งเพื่อรอเวลาที่กำหนด