Jawaban:
Gunakan osascript
. Sebagai contoh:
osascript -e 'tell app "Finder" to display dialog "Hello World"'
Mengganti "Finder" dengan aplikasi apa pun yang Anda inginkan. Perhatikan jika aplikasi itu di-background, dialog akan muncul di latar belakang juga. Untuk selalu ditampilkan di latar depan, gunakan "Peristiwa Sistem" sebagai aplikasi:
osascript -e 'tell app "System Events" to display dialog "Hello World"'
Baca lebih lanjut tentang Petunjuk Mac OS X .
Gunakan perintah ini untuk memicu notifikasi pusat notifikasi dari terminal.
osascript -e 'display notification "Lorem ipsum dolor sit amet" with title "Title"'
Jika Anda menggunakan versi Mac OS X yang memiliki Pusat Pemberitahuan, Anda dapat menggunakan permata terminal-notifier . Instal pertama (Anda mungkin perlu sudo
):
gem install terminal-notifier
lalu cukup:
terminal-notifier -message "Hello, this is my message" -title "Message Title"
Lihat juga posting Harian OS X ini .
brew install terminal-notifier
juga berfungsi jika Anda lebih suka menyeduh.
Ini akan mengembalikan fokus ke aplikasi sebelumnya dan keluar dari skrip jika jawabannya kosong.
a=$(osascript -e 'try
tell app "SystemUIServer"
set answer to text returned of (display dialog "" default answer "")
end
end
activate app (path to frontmost application as text)
answer' | tr '\r' ' ')
[[ -z "$a" ]] && exit
Jika Anda memberi tahu Peristiwa Sistem untuk menampilkan dialog, akan ada sedikit penundaan jika tidak berjalan sebelumnya.
Untuk dokumentasi tentang dialog tampilan, buka kamus Standard Additions di AppleScript Editor atau lihat Panduan Bahasa AppleScript .
Dengan AppleScript :
display notification "Notification text" with title "Notification Title" subtitle "Notification sub-title" sound name "Submarine"
Dengan terminal / bash dan osascript
:
osascript -e 'display notification "Notification text" with title "Notification Title" subtitle "Notification sub-title" sound name "Submarine"'
Tidak mengambil sub-judul atau terdengar keras.
Dengan AppleScript :
display alert "Alert title" message "Your message text line here."
Dengan terminal / bash dan osascript
:
osascript -e 'display alert "Alert title" message "Your message text line here."'
Tambahkan baris di bash untuk memutar suara setelah baris peringatan:
afplay /System/Library/Sounds/Hero.aiff
Tambahkan baris yang sama di AppleScript , biarkan skrip shell melakukan pekerjaan:
do shell script ("afplay /System/Library/Sounds/Hero.aiff")
Daftar suara bawaan macOS untuk dipilih dari sini .
Diparafrasekan dari artikel praktis tentang pemberitahuan terminal dan applescript .
Dan 15 sen saya. Satu liner untuk terminal mac dll cukup setel MIN = ke apapun dan pesan
MIN=15 && for i in $(seq $(($MIN*60)) -1 1); do echo "$i, "; sleep 1; done; echo -e "\n\nMac Finder should show a popup" afplay /System/Library/Sounds/Funk.aiff; osascript -e 'tell app "Finder" to display dialog "Look away. Rest your eyes"'
Contoh bonus untuk inspirasi untuk menggabungkan lebih banyak perintah; ini akan membuat mac menjadi siaga setelah pesan juga :) login sudo diperlukan kemudian, perkalian sebagai 60 * 2 selama dua jam juga berjalan
sudo su
clear; echo "\n\nPreparing for a sleep when timers done \n"; MIN=60*2 && for i in $(seq $(($MIN*60)) -1 1); do printf "\r%02d:%02d:%02d" $((i/3600)) $(( (i/60)%60)) $((i%60)); sleep 1; done; echo "\n\n Time to sleep zzZZ"; afplay /System/Library/Sounds/Funk.aiff; osascript -e 'tell app "Finder" to display dialog "Time to sleep zzZZ"'; shutdown -h +1 -s
Pertanyaan dan jawaban simular tersedia di: /superuser/246353/how-to-make-the-terminal-do-a-pop-up-alert-in-osx
Saya membuat skrip untuk menyelesaikan ini yang ada di sini . Anda tidak memerlukan perangkat lunak tambahan untuk ini. Instalasi:
brew install akashaggarwal7/tools/tsay
Penggunaan:
sleep 5; tsay
Jangan ragu untuk berkontribusi!