Presento en esta respuesta dos cosas:
- La opción de usar
afplay
, que reproduce archivos de sonido , para la notificación.
- mis herramientas para Estado de salida de informe junto con la notificación.
Tengo este guion, ~/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
Esto reproduce un sonido diferente dependiendo de si el argumento es 0. Entonces tengo un alias:
alias donebeep='(savestatus=$?; ~/bin/donebeep $savestatus "$@"; exit $savestatus)'
(Que tengan el mismo nombre es irrelevante y probablemente sea una mala idea).
Para usarlo en tu ejemplo, svn update . && ant clean build start; donebeep
. Tenga en cuenta que estoy usando ;
más bien que &&
, para que pueda notificarme sobre el fracaso y el éxito.
antes de aprendí sobre afplay
, Solía say
para hablar mensajes en su lugar. El rol de donebeep
fue jugado por este script:
#!/bin/bash
say -v Bruce "Done $(basename "$(pwd)"), $@." &
Este script habla el código de salida directamente en lugar de tener dos mensajes diferentes. También menciona el nombre del directorio actual (para ayudar a aclarar qué tarea se realiza), y se le puede dar un texto adicional para decir al pasar los parámetros al alias (es por eso que el alias tiene "$@"
en eso). Note el final &
para que no tenga que esperar a que finalice el discurso antes de recibir un aviso.
los página de manual para afplay
esta incompleto afplay -h
Enumera todas las opciones:
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
.