Jag presenterar i detta svar två saker:
- Alternativet att använda
afplay
, som spelar upp ljudfiler , för anmälan. - mina verktyg för att rapportera utgångsstatus tillsammans med aviseringen.
Jag har det här skriptet, ~ / bin / donebeep :
#! / bin / bashif ["$ @" = 0]; sedan afplay -v 2 /System/Library/Sounds/Blow.aiff &else afplay -v 2 /System/Library/Sounds/Sosumi.aiff &fi
Detta spelar ett annat ljud beroende på om argumentet är 0. Då har jag ett alias:
alias donebeep = '(savestatus = $ ?; ~ / bin / donebeep $ savestatus "$ @"; avsluta $ savestatus)' kod>
(Att de har samma namn är irrelevant och förmodligen en dålig idé.)
För att använda det i ditt exempel, uppdatera svn. && myra ren byggstart; donebeep
. Observera att jag använder ;
snarare än &&
, så att det kan meddela mig vid misslyckande och framgång.
Innan jag lärde mig om avplay
, jag använde say
för att tala meddelanden istället. Rollen som donebeep
spelades av detta skript:
#! / Bin / bashsay -v Bruce "Done $ (basnamn" $ (pwd) "), $ @. " &
Detta skript talar utgångskoden direkt istället för att ha två olika meddelanden. Det nämner också namnet på den aktuella katalogen (för att klargöra vilken uppgift som utförs) och kan ges ytterligare text att säga genom att skicka parametrar till aliaset (det är därför aliaset har "$ @" i det). Observera den efterföljande & så att du inte behöver vänta på att talet ska avslutas innan du får en uppmaning.
man-sidan för avspelning är ofullständig; afplay -h
listar alla alternativ:
Användning: afplay [option ...] audio_fileOptions: (kan visas före eller efter argument) {-v | --volym} VOLYM
ställa in volymen för uppspelning av filen {-h | --hjälp} skriva ut hjälp {--leaks} köra läckageanalys {-t | --tid} TIME-uppspelning i TIME sekunder {-r | --rate} RATE-uppspelning med uppspelningshastighet {-q | --rQuality} KVALITET ställer in den kvalitet som används för hastighetsskalad uppspelning (standard är 0 - låg kvalitet, 1 - hög kvalitet) {-d | --debug} felsökningsutskrift