Terkadang berguna untuk mendapatkan umpan balik visual dari sebuah skrip. Misalnya, saat skrip atau tugas cron selesai, build yang berjalan lama gagal, atau ada masalah mendesak selama eksekusi skrip. Aplikasi desktop dapat melakukan ini dengan pemberitahuan sembulan, tetapi juga dapat dilakukan dari skrip! Anda dapat menggunakan perintah skrip untuk mengirim sendiri pemberitahuan dan pengingat desktop.
Kode di bawah ini telah ditulis dan diuji di Linux. Ini juga dapat dilakukan di macOS dengan sedikit usaha. Lihat bagian terakhir untuk beberapa petunjuk dan tip.
Mengirim pemberitahuan dari terminal Linux
Untuk mengirim notifikasi dari terminal Linux, gunakan notify-send
memerintah. Ini sering kali sudah diinstal sebagai bagian dari desktop Anda, tetapi Anda dapat menjalankan which
notify-send
untuk mengkonfirmasi. Jika belum diinstal, instal dengan manajer paket pilihan Anda.
Pada Fedora dan distribusi serupa, ketik:
$ sudo dnf install libnotify
Pada distribusi berbasis Debian, ketik:
$ sudo apt install notify-send
Beberapa contoh pemberitahuan sederhana:
$ notify-send "Dinner ready!"
$ notify-send "Tip of the Day" "How about a nap?"
Anda dapat menyesuaikan pemberitahuan dengan opsi seperti tingkat urgensi, ikon khusus, dan sebagainya. Cari tahu lebih lanjut dengan man notify-send
. Anda dapat menggunakan satu set kecil tag HTML di badan notifikasi untuk memberikan sentuhan yang bagus pada pesan Anda. Selain itu, URL dirender sebagai dapat diklik. Misalnya:
$ notify-send -u critical \
"Build failed!" \
"There were <b>123</b> errors. Click here to see the results: http://buildserver/latest"
Notifikasi terkirim diambil oleh lingkungan desktop dan ditampilkan sama seperti notifikasi lainnya. Mereka akan memiliki tampilan, perasaan, dan perilaku yang sama.
Gabungkan notify-send dengan di
Cron biasanya digunakan untuk menjadwalkan perintah secara berkala. at
perintah menjadwalkan eksekusi tunggal perintah pada waktu tertentu. Jika Anda menjalankannya seperti ini, ini dimulai dalam mode interaktif, di mana Anda dapat memasukkan perintah untuk dijalankan pada waktu tertentu:
$ at 12:00
Ini tidak berguna untuk skrip. Untungnya, at
menerima parameter dari input standar sehingga kita dapat menggunakannya dengan cara ini:
$ echo "npm run build" | at now + 1 minute
$ echo "backup-db" | at 13:00
Ada banyak cara untuk menentukan waktu. Dari waktu absolut, seperti 10:00
melalui waktu relatif, seperti now + 2 hours
, untuk waktu khusus seperti noon
atau midnight
. Kita bisa menggabungkannya dengan notify-send
untuk menunjukkan diri kita pengingat di beberapa waktu di masa depan. Misalnya:
$ echo "notify-send 'Stop it and go home now?' 'Enough work for today.' -u critical" | at now
Perintah mengingatkan
Sekarang, buat perintah Bash khusus untuk mengirim pengingat kepada diri Anda sendiri. Bagaimana dengan sesuatu yang sederhana dan ramah manusia seperti:
$ remind "I'm still here" now
$ remind "Time to wake up!" in 5 minutes
$ remind "Dinner" in 1 hour
$ remind "Take a break" at noon
$ remind "It's Friday pints time!" at 17:00
Lebih banyak sumber daya Linux
- Lembar contekan perintah Linux
- Lembar contekan perintah Linux tingkat lanjut
- Kursus online gratis:Ikhtisar Teknis RHEL
- Lembar contekan jaringan Linux
- Lembar contekan SELinux
- Lembar contekan perintah umum Linux
- Apa itu container Linux?
- Artikel Linux terbaru kami
Ini lebih baik dari Alexa! Bagaimana cara mendapatkan kebaikan ini?
Lihat kode di bawah ini. Ini mendefinisikan fungsi shell yang disebut mengingatkan , yang mendukung sintaks di atas. Pekerjaan yang sebenarnya dilakukan dalam dua baris terakhir. Sisanya bertanggung jawab atas bantuan, validasi parameter, dll., yang kira-kira cocok dengan proporsi kode yang berguna vs. white-noise yang diperlukan dalam aplikasi besar apa pun.
Simpan kode di suatu tempat, misalnya di ~/bin/remind
file, dan sumber fungsi di .bashrc
. Anda profile sehingga dimuat saat Anda masuk:
$ source ~/bin/remind
Muat ulang terminal, lalu ketikkan reminder untuk melihat sintaksnya. Selamat menikmati!
#!/usr/bin/env bash
function remind () {
local COUNT="$#"
local COMMAND="$1"
local MESSAGE="$1"
local OP="$2"
shift 2
local WHEN="$@"
# Display help if no parameters or help command
if [[ $COUNT -eq 0 || "$COMMAND" == "help" || "$COMMAND" == "--help" || "$COMMAND" == "-h" ]]; then
echo "COMMAND"
echo " remind <message> <time>"
echo " remind <command>"
echo
echo "DESCRIPTION"
echo " Displays notification at specified time"
echo
echo "EXAMPLES"
echo ' remind "Hi there" now'
echo ' remind "Time to wake up" in 5 minutes'
echo ' remind "Dinner" in 1 hour'
echo ' remind "Take a break" at noon'
echo ' remind "Are you ready?" at 13:00'
echo ' remind list'
echo ' remind clear'
echo ' remind help'
echo
return
fi
# Check presence of AT command
if ! which at >/dev/null; then
echo "remind: AT utility is required but not installed on your system. Install it with your package manager of choice, for example 'sudo apt install at'."
return
fi
# Run commands: list, clear
if [[ $COUNT -eq 1 ]]; then
if [[ "$COMMAND" == "list" ]]; then
at -l
elif [[ "$COMMAND" == "clear" ]]; then
at -r $(atq | cut -f1)
else
echo "remind: unknown command $COMMAND. Type 'remind' without any parameters to see syntax."
fi
return
fi
# Determine time of notification
if [[ "$OP" == "in" ]]; then
local TIME="now + $WHEN"
elif [[ "$OP" == "at" ]]; then
local TIME="$WHEN"
elif [[ "$OP" == "now" ]]; then
local TIME="now"
else
echo "remind: invalid time operator $OP"
return
fi
# Schedule the notification
echo "notify-send '$MESSAGE' 'Reminder' -u critical" | at $TIME 2>/dev/null
echo "Notification scheduled at $TIME"
}
Notifikasi mudah
Dengan beberapa perintah open source sederhana ini, Anda dapat mengintegrasikan skrip, aplikasi, dan tugas Anda sendiri dengan desktop Anda. Cobalah!
Artikel ini telah diadaptasi dengan izin penulis dari artikel aslinya, terdapat di sini.