Saya hadir dalam jawaban ini dua hal:
- Opsi penggunaan
afplay
, yang memutar file suara , untuk notifikasi.
- alat saya untuk melaporkan status keluar bersama dengan notifikasi.
Saya memiliki script ini, ~/bin/donebeep
:
#!/bin/bash
if [ "$@" = 0 ]; then
afplay -v 2 /System/Library/Sounds/Blow.aiff &
else
afplay -v 2 /System/Library/Sounds/Sosumi.aiff &
fi
Ini memainkan suara yang berbeda tergantung pada apakah argumennya adalah 0. Lalu saya memiliki alias:
alias donebeep='(savestatus=$?; ~/bin/donebeep $savestatus "$@"; exit $savestatus)'
(Bahwa mereka memiliki nama yang sama tidak relevan dan mungkin ide yang buruk.)
Untuk menggunakannya dalam contoh Anda svn update . && ant clean build start; donebeep
,. Perhatikan bahwa saya menggunakan ;
daripada &&
, sehingga dapat memberi tahu saya tentang kegagalan serta kesuksesan.
Sebelum saya pelajariafplay
, saya biasa say
berbicara pesan. Peran donebeep
dimainkan oleh skrip ini:
#!/bin/bash
say -v Bruce "Done $(basename "$(pwd)"), $@." &
Skrip ini berbicara kode keluar secara langsung alih-alih memiliki dua pesan berbeda. Itu juga menyebutkan nama direktori saat ini (untuk membantu memperjelas tugas mana yang dilakukan), dan dapat diberikan teks tambahan untuk mengatakan dengan meneruskan parameter ke alias (itu sebabnya alias ada "$@"
di dalamnya). Catat trailing &
sehingga Anda tidak perlu menunggu pidato selesai sebelum mendapatkan prompt.
The man page untukafplay
tidak lengkap; afplay -h
daftar semua opsi:
Usage:
afplay [option...] audio_file
Options: (may appear before or after arguments)
{-v | --volume} VOLUME
set the volume for playback of the file
{-h | --help}
print help
{ --leaks}
run leaks analysis {-t | --time} TIME
play for TIME seconds
{-r | --rate} RATE
play at playback rate
{-q | --rQuality} QUALITY
set the quality used for rate-scaled playback (default is 0 - low quality, 1 - high quality)
{-d | --debug}
debug print output
grownlnotify
.