(Khusus OSX)
Saya, seperti banyak orang lain selain saya sendiri sering menemukan diri saya memulai proses di shell yang membutuhkan satu atau dua menit untuk menyelesaikan (contoh komit besar misalnya). Selama waktu itu, saya sering alt-tab dan menyegarkan reddit / slashdot / wikipedia / apa pun. Akan lebih baik jika ada sesuatu yang diatur yang memposting pemberitahuan growl ketika proses shell selesai.
Di dunia ideal saya, ini akan bekerja seperti ini: "Jika suatu proses baru saja keluar dari tab yang terbuka di Terminal, posting pemberitahuan growl."
Adakah yang memiliki pengaturan seperti ini?
growlnotify
pengaturan pemberitahuan aplikasiGrowl.prefPane
untuk memasukkan suara notifikasi audio. Namun, itu tidak dapat diubah tergantung pada perintah yang Anda jalankan, seperti yangsay
akan terjadi. Tapi itu jauh lebih menyeramkan.Jawaban:
Anda dapat menginstal growlnotify untuk melakukan ini.
$ ./some_program && growlnotify Title -m Message
Tentu saja Anda perlu memikirkan ini sebelum melakukan perintah Anda. Alternatifnya (saya tidak tahu bagaimana mencapai ini) akan menjadi pemberitahuan Growl untuk setiap perintah, yang akan sangat mengganggu.
Untuk menyederhanakan penggunaan growlnotify untuk use case Anda, edit
~/bash_profile
dan tambahkan berikut ini:sekarang Anda bisa
long your_command
(mirip dengansudo
).Ctrl-A
posisi kursor di awal baris, jika Anda (seperti saya) selalu mengetikkan perintah yang sebenarnya terlebih dahulu dan perlu menambahkan awalan sesudahnya.Sayangnya bash-fu saya tidak cukup untuk dapat menambahkan perintah ke
growlnotify
pesanper komentar @ mankoff untuk jawaban ini:
Anda cukup mengetik saat perintah sedang berjalan, dieksekusi setelah itu. Saya membuat fungsi berikut untuk saya:
Gunakan sebagai
gn svn
.sumber
Yang Anda butuhkan adalah
growlnotify
program CLI untuk memicu notifikasi growl. Anda bisa menggunakannya sebagai:Ini memiliki beberapa tombol yang dapat Anda mainkan, gunakan
growlnotify -h
untuk info lebih lanjutsumber
&&
dan||
memiliki pesan yang berbeda antara status keberhasilan dan kegagalan, tetapi jika seseorang hanya tertarik pada pesan yang ditampilkan setelah perintah dijalankan, maka;;
sangat mudah. =)Memodifikasi jawaban Daniel Beck jika Anda melakukan sedikit perubahan ini membuatnya sangat menyenangkan.
Kemudian ketika Anda menjalankan 'long svn up' Anda akan melihat pesan 'svn up selesai.'
Sangat bagus jika Anda menjalankan banyak skrip shell yang memakan waktu secara bersamaan.
sumber
Sekarang OSX 10.8 dan yang lebih baru memiliki notifikasi asli, inilah cara saya mencapai tujuan yang sama melalui terminal-notifier :
$ brew install terminal-notifier
Tambahkan ini ke
~/.bash_profile
:Pastikan bahwa Anda telah menggunakan profil Anda
. ~/.bash_profile
(tidak perlu untuk sesi terminal di masa mendatang), karena profil Anda bersumber secara otomatis saat membuat sesi.Uji dengan perintah favorit Anda, diikuti dengan panggilan fungsi.
Argumen untuk terminal-notifier dapat bertahan beberapa perbaikan, tetapi upaya cepat meraih perintah sebelumnya untuk lulus ke fungsi tidak berhasil dan ini membuat saya semua fungsi yang saya butuhkan. Yaitu, menambahkan
;gn
untuk mendapatkan pemberitahuan di akhir dari proses yang berjalan lama.sumber
Gunakan growlnotify .
sumber
Ini adalah cara untuk mengaktifkannya secara otomatis untuk proses "berjalan lama": http://hints.macworld.com/article.php?story=20071009124425468
Ini menghubungkan ke
$PROMPT_COMMAND
dan memberitahukan penyelesaian proses yang membutuhkan waktu lebih dari 10 detik untuk menyelesaikannya. Anda mungkin perlu menyesuaikannya agar sesuai dengan lingkungan dan alur kerja Anda sendiri (misalnya, mengabaikan penyelesaianless
atau permohonan editor), tetapi tampaknya berhasil dengan baik di luar kotak.sumber
Saya hanya mencari-cari lagi dan menemukan metode sederhana untuk ini. Ini sedikit lebih manual daripada yang saya inginkan, tapi begini saja.
&& growlnotify -m "Message"
> ke proses yang panjang.Itu bekerja untuk saya sekarang, tetapi saya bisa melakukan yang lebih baik, metinks.
sumber
Solusi OSX 10.9+ tanpa perangkat lunak pihak ketiga:
Di OSX 10.9 dan di atasnya, Anda dapat menggunakan perintah AppleScript
display notification
untuk menampilkan growl dari terminal seperti:Jika Anda tidak ingin mengetik semua itu setiap saat, Anda dapat menggunakan
alias
:Contoh:
sumber