Bu cevabı iki şey olarak sunuyoruz:
- Bildirim için
afplay
ses dosyalarını çalan , kullanma seçeneği .
- Çıkış durumumu bildirimle birlikte raporlama araçlarım .
Bu senaryo bende ~/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
Argümanın 0 olup olmadığına bağlı olarak farklı bir ses çıkar. Sonra bir takma adım var:
alias donebeep='(savestatus=$?; ~/bin/donebeep $savestatus "$@"; exit $savestatus)'
(Aynı ada sahip olduklarının önemi yoktur ve muhtemelen kötü bir fikirdir.)
Örneğinizde kullanmak için svn update . && ant clean build start; donebeep
,. Beni ;
değil de kullandığımı &&
, böylelikle başarısızlık ve başarı hakkında beni bilgilendirebileceklerini unutmayın.
Önce ben öğrendimafplay
, kullandığım say
yerine iletileri caizse. Rolü donebeep
bu senaryo ile oynandı:
#!/bin/bash
say -v Bruce "Done $(basename "$(pwd)"), $@." &
Bu komut dosyası iki farklı mesaj almak yerine doğrudan çıkış kodunu söyler. Ayrıca, geçerli dizinin adını da belirtir (hangi görevin yapıldığını netleştirmek için) ve parametreleri diğer adaya geçirerek söylenebilecek ek metinler (diğer adın "$@"
içinde bu yüzden var) verilebilir . İzi not edin, &
böylece bir bilgi istemi almadan konuşmanın bitmesini beklemenize gerek kalmaz.
İçin man sayfasıafplay
eksik; afplay -h
tüm seçenekleri listeler:
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
.