Apresento nesta resposta duas coisas:
- A opção de usar
afplay
, que reproduz arquivos de som , para notificação.
- minhas ferramentas para relatar o status de saída junto com a notificação.
Eu tenho esse script ~/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
Isso toca um som diferente, dependendo se o argumento é 0. Então eu tenho um alias:
alias donebeep='(savestatus=$?; ~/bin/donebeep $savestatus "$@"; exit $savestatus)'
(Que eles tenham o mesmo nome é irrelevante e provavelmente uma má ideia.)
Para usá-lo em seu exemplo svn update . && ant clean build start; donebeep
,. Observe que estou usando, em ;
vez de &&
, para que ele possa me notificar sobre falhas e também sobre o sucesso.
Antes de aprenderafplay
, costumava say
falar mensagens. O papel de donebeep
foi desempenhado por este script:
#!/bin/bash
say -v Bruce "Done $(basename "$(pwd)"), $@." &
Este script fala o código de saída diretamente, em vez de ter duas mensagens diferentes. Ele também menciona o nome do diretório atual (para ajudar a esclarecer qual tarefa está concluída) e pode receber um texto adicional para dizer, passando parâmetros para o alias (é por isso que o alias contém "$@"
). Observe a trilha &
para que você não precise esperar a conclusão do discurso antes de receber um prompt.
A página de manual paraafplay
está incompleta; afplay -h
lista todas as opções:
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
.