Tempat saya bekerja memiliki perintah yang membutuhkan waktu lama untuk dieksekusi.
Apakah ada perintah / utilitas yang dapat saya gunakan untuk memberi tahu saya ketika eksekusi perintah selesai? Ini bisa berupa jendela sembulan atau mungkin sedikit suara.
command-line
unix
process
notifications
Utkarsh Sinha
sumber
sumber
fg;say "Job finished"
akan berhasil. Tapi ... adakah cara lain untuk dapat diotomatisasikan lebih lanjut - yaitu membunyikan bel atau memberi tahu setelah menyelesaikan pekerjaan apa pun yang membutuhkan lebih dari ambang batas seperti satu menit? Apakah ada variabel shell, misalnya dalam bash, yang sudah berlalu saat perintah terakhir?Jawaban:
Secara umum, jika Anda tahu ini sebelum menjalankan perintah, Anda bisa memulainya dengan:
Ini akan mengeksekusi
command-after
setelah perintah sebelumnya telah keluar (terlepas dari kode keluarnya). The&
akan memulainya di latar belakang.Jika Anda peduli akan berhasil atau gagal, masing-masing menggunakan:
Jika perintah sudah dimulai, Anda dapat menggunakan kontrol pekerjaan untuk menangguhkannya, lalu mengembalikannya ke latar depan dengan
fg
dirantai dengan pemberitahuan Anda:Sekarang ... apa yang ingin Anda lakukan setelah ini tergantung pada lingkungan Anda.
Pada sistem apa pun , Anda dapat "membunyikan" bel terminal . Tergantung pada sistem tepatnya apa yang benar-benar berfungsi (BSD vs GNU Linux, dll.), Tetapi
tput bel
harus dilakukan. Tapi saya tidak bisa mengujinya saat ini. Cari "bel dering" untuk mencari tahu lebih lanjut.Di Mac OS X , Anda bisa menggunakan AppleScript untuk memunculkan dialog Finder:
Anda bisa mengatakan sesuatu kepada Anda:
Atau Anda dapat menggunakan sistem notifikasi Mountain Lion:
Di GNOME ,
zenity
dapat menampilkan kotak dialog GTK, dipanggil dari baris perintah. Lihat juga pertanyaan Stack Overflow ini: menampilkan kotak pesan dari skrip bash di linux . Ini dapat diinstal melalui manajer paket favorit Anda.Beberapa distribusi mungkin punya
xmessage
. Khusus untuk lingkungan GTK, adagxmessage
.Di lingkungan desktop yang menerapkan Spesifikasi Pemberitahuan Desktop , seperti Ubuntu dan GNOME , ada sistem pemberitahuan yang dapat Anda picu
notify-send
(bagian darilibnotify
).Penggunaan KDE
kdialog
, misalnya:sumber
(command; command-after) &
?Pada sistem seperti unix, Anda dapat membunyikan bel terdengar:
sumber
tput bel
Saya membuat alat sederhana, untuk MacOS X, yang melakukan ini. https://github.com/vikfroberg/brb
Instalasi
Instruksi
sumber
Untuk mendapatkan notifikasi suara yang bisa Anda gunakan
spd-say "Some text"
. Contoh:sumber
sudo apt-get install speech-dispatcher
. Atau gunakan alternatif askubuntu.com/questions/501910/...Saya baru saja mulai menggunakan notifu untuk notifikasi desktop dari Cygwin. Ini adalah aplikasi pemberitahuan baris perintah untuk Windows.
Contoh:
sumber
Saya menulis
ntfy
untuk tujuan ini. Ini adalah lintas platform dan dapat secara otomatis mengirim notifikasi ketika perintah yang berjalan lama selesai.Jika Anda memiliki Python
pip
(kebanyakan distro Linux dan MacOS memilikinya), berikut ini cara menginstalnya dan mengaktifkan pemberitahuan otomatis:Lihat di http://ntfy.rtfd.io
Selain itu, ia juga dapat:
sumber
Untuk Linux, ada trik bagus untuk melakukan ini secara otomatis tanpa harus mengetikkan perintah untuk pemberitahuan setiap saat.
Pertama instal autokey. Ini membantu mendefinisikan tindakan untuk penekanan tombol yang berbeda.
Sekarang, tentukan frasa baru dalam autokey dan tetapkan hotkey sebagai Alt + Enter. Tambahkan frasa ini:
Perhatikan bahwa baris baru setelah baris pertama itu penting.
Juga, tambahkan filter jendela. Saya menggunakan guake dan terminal. Sertakan terminal apa pun yang Anda gunakan.
Kamu sudah selesai!!
Sekarang, setiap kali Anda perlu mendapatkan notifikasi untuk suatu perintah, jalankan menggunakan Alt + Enter dan bukan Enter / Kembali.
Sumber: http://dotpad.blogspot.in/2014/12/notification-when-command-finished.html
sumber
Meskipun jawaban lain sudah mencakup sebagian besar cara untuk mendapatkan pemberitahuan tentang pekerjaan yang sudah selesai, saya ingin memberikan dua sen saya karena Anda mengajukan pertanyaan Anda dalam format berikut:
Saya memiliki masalah yang sama. Terkadang sesuatu dapat berjalan selama 15 menit.
Saya memiliki fungsi berikut di .bashrc saya:
Ini menggunakan aplikasi Pushover untuk mendorong pemberitahuan ke telepon saya. Dengan cara ini saya bisa pergi makan siang atau mengikuti rapat dan masih mendapat pemberitahuan tentang pekerjaan yang saya mulai di komputer saya sebelum saya pergi.
Saya menggunakannya dengan cara berikut:
Jadi, jika perintah mengembalikan kode keluar yang benar, dorongan pertama akan dieksekusi. Pada kesalahan, yang kedua akan dieksekusi.
Ofc Anda perlu membuat pengguna di Pushover, dan mendaftarkan aplikasi untuk mengirim pemberitahuan dari https://pushover.net/
semoga ini membantu!
sumber
Jika Anda menggunakan csh atau tcsh sebagai shell interaktif Anda, Anda dapat menggunakan
notify
perintah:Anda dapat mencapai efek serupa di bash dengan
set -b
atauset -o notify
.Ini mungkin tidak memenuhi persyaratan Anda, karena yang dilakukannya hanyalah mencetak pesan; Saya tidak berpikir itu dapat dikonfigurasi untuk membuka jendela atau membunyikan bel.
sumber
Pada sistem dengan coba 'awk'
adalah satu-satunya yang bekerja untuk saya.
sumber
\a
( jawaban trinth ).Jika Anda menggunakan
npm
kemudian simpul-notifier memberikan solusi cross-platform .Pratinjau
sumber
Seandainya aku memperhatikan utas ini bertahun-tahun yang lalu. Solusi saya pada dasarnya sama dengan slhck, tetapi saya menulis sebuah skrip. Saya menggunakannya sepanjang waktu. Posting di sini untuk membagikannya.
Satu penjelasan kecil: string
"\x1b]0;$msg\a"
adalah urutan pelarian ANSI untuk meletakkan pesan di bilah judul jendela dari mana ia dieksekusi. Saya merasa kadang-kadang cukup berguna untuk dapat melihat dari jendela mana pesan itu berasal.sumber
Jadi ini datang agak terlambat, tapi saya sudah mulai menggunakan sistem untuk melakukan ini: Saya punya skrip bash yang mengeksekusi perintah apa pun yang diteruskan ke sana setelah itu
http://somesh.io/2017/02/19/get-notified-when-long-commands-are-done-executing-on-ubuntu/
dan kemudian saya hanya menambahkan n
sumber
Kemungkinan lain adalah menggunakan
alert
, Bekerja di Linux.Ini memberi notifikasi seperti pada gambar. pemberitahuan peringatan
sumber
Saya membuat aplikasi yang akan mengirim pemberitahuan ke ponsel Android Anda ketika proses berakhir sehingga Anda tidak perlu ditambatkan ke komputer Anda.
Instal, lalu tambahkan
;notifier.sh
ke akhir perintah Anda.Misalnya, jika perintah Anda adalah
make install
, Anda akan membuat perintah Anda:make install; notifier.sh
https://notifier.sh
https://play.google.com/store/apps/details?id=sh.notifier
sumber