Command-Line Alarm Clock สำหรับ Ubuntu
จำเป็นต้องมีคำแนะนำซอฟต์แวร์! ฉันกำลังมองหานาฬิกาปลุกที่จะใช้กับเครื่อง Ubuntu 20.04 ของฉันพร้อมอินเทอร์เฟซบรรทัดคำสั่งเพื่อให้ฉันตั้งค่าการเตือนจากบรรทัดคำสั่ง เนื่องจากในขั้นตอนการทำงานของฉันฉันมักจะต้องตั้งนาฬิกาปลุกหลายครั้งต่อวันโดยปกติจะใช้เวลาประมาณหนึ่งชั่วโมงเท่านั้น เนื่องจากฉันทำสิ่งนี้บ่อยครั้งจึงเป็นเรื่องยากที่จะยุ่งกับ GUI ตลอดเวลา
แน่นอนฉันลองนาฬิกา GNOME แต่ดูเหมือนว่าจะไม่มีอินเทอร์เฟซบรรทัดคำสั่ง
ใครสามารถแนะนำสิ่งที่ฉันกำลังมองหา? ไม่จู้จี้จุกจิกเกินไปเพียงแค่ต้องการให้มันทำงานได้
ขอบคุณล่วงหน้า :)
คำตอบ
คุณสามารถใช้atคำสั่ง (ไม่ได้ติดตั้งโดยค่าเริ่มต้นบน Ubuntu 20.04) ช่วยให้คุณดำเนินการคำสั่งในเวลาที่กำหนด ตัวอย่างเช่นคุณสามารถมีกล่องโต้ตอบ Zenity ปรากฏขึ้นเพื่อใช้เป็นสัญญาณเตือน
คุณสามารถใช้sleepคำสั่งซึ่งติดตั้งไว้ล่วงหน้าบน Ubuntu เพื่อเรียกใช้คำสั่งหลังจากระยะเวลาที่กำหนดดังนี้:
sleep NUMBER[SUFFIX] && command
จากman sleep:
DESCRIPTION Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. Unlike most implementations that require NUMBER be an integer, here NUMBER may be an arbitrary floating point number. Given two or more arguments, pause for the amount of time specified by the sum of their values.
ตัวอย่างเช่นคุณอาจเรียกใช้:
sleep 3h 5m 25s && mpv file
เพื่อเปิดfileด้วยmpvเครื่องเล่นสื่อหลังจากผ่านไป 3 ชั่วโมง 5 นาทีและ 25 วินาที
sleepใช้งานได้อย่างสมบูรณ์แบบและตรงไปตรงมาสำหรับการเรียกใช้คำสั่งหลังจากระยะเวลาหนึ่งอย่างไรก็ตามatจะดีกว่าสำหรับการรันคำสั่งที่ (ไม่แปลกใจที่นี่) ตามเวลาที่กำหนด
sleepแต่พฤติกรรมที่คล้ายกันสามารถนำมาใช้กับ นี่คือสคริปต์ตัวอย่าง:
#!/bin/bash
alarm_time=$1 command=$2
# convert alarm_time and current_time to seconds since 1970-01-01 00:00:00 UTC
# and calculate their difference
alarm_time=$(date -d "$alarm_time" +"%s")
current_time=$(date +"%s") diff=$(( $alarm_time - $current_time ))
# convert the time difference to hours
sleep_time=$(echo "scale=5; $diff/3600" | bc)
# run the command at the specified time
sleep "$sleep_time"h && $command
หลังจากบันทึกเป็นalarm.sh(เลือกชื่อที่คุณต้องการ) และทำให้สามารถเรียกใช้งานได้คุณสามารถเรียกใช้เป็น:
/path/to/alarm.sh time command
คุณสามารถเพิ่มสคริปต์ลงในพา ธ ของคุณเพื่อให้เข้าถึงได้ง่ายขึ้นหากต้องการและคุณยังสามารถฮาร์ดโค้ดคำสั่งเพื่อเรียกใช้โดยแทนที่$2ด้วยคำสั่งที่คุณต้องการเรียกใช้