ฉันก็มีปัญหาเช่นนี้เช่นกัน
รหัสแก้ปัญหาของฉันด้วยวิธีนี้
ก่อนอื่น ฉันเขียนฟังก์ชันที่ตรวจสอบสถานะของคำสั่งที่ฉันเรียกใช้ในสคริปต์ของฉัน
ฟังก์ชัน show_process_status() {
ถ้า [ $? == 0 ]; แล้ว
เสียงสะท้อน $1
อื่น
เสียงสะท้อน $2
หยุดพัก
ไฟ
}
ในสคริปต์ของฉัน ฉันจะเรียกฟังก์ชันนี้หลังจากคำสั่งใดๆ ที่ฉันรัน เช่น
ฟังก์ชัน update_system (){
echo "เริ่มปรับปรุงระบบ"
sudo apt-get update -y
show_process_startus "อัปเดต repos สำเร็จ" "เกิดข้อผิดพลาดขณะอัปเดต repos"
ถ้า [[ $1 == "เต็ม" ]]; แล้ว
sudo apt-get dist-upgrade -y
show_process_startus "อัปเดตระบบสำเร็จ" "เกิดข้อผิดพลาดขณะอัปเดตระบบ"
elif [[ $1 == "แก้ไข" ]]; แล้ว
sudo apt-get update --fix-missing
show_process_startus "การอัปเดตการแก้ไขขาดหายไปสำเร็จ" "เกิดข้อผิดพลาดในการแก้ไขขาดหายไป"
sudo apt-get อัปเดต
ไฟ
}
ใน show_process_status
ฟังก์ชัน ฉันได้รับสองอาร์กิวเมนต์ อันแรกถูกพิมพ์เมื่อโค้ดรันและออกสำเร็จ และอันที่สองใช้เมื่อออกคำสั่งไม่สำเร็จ