मैं इस उत्तर में दो चीजें प्रस्तुत करता हूं:
- अधिसूचना के लिए,
afplay
ध्वनि फ़ाइलों का उपयोग करने का विकल्प ।
- अधिसूचना के साथ निकास स्थिति की रिपोर्टिंग के लिए मेरे उपकरण ।
मेरे पास यह स्क्रिप्ट है ~/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
यह तर्क अलग है कि क्या तर्क के आधार पर एक अलग ध्वनि खेलता है 0. तब मेरे पास एक उपनाम है:
alias donebeep='(savestatus=$?; ~/bin/donebeep $savestatus "$@"; exit $savestatus)'
(कि उनका एक ही नाम अप्रासंगिक है और शायद एक बुरा विचार है।)
अपने उदाहरण में इसके इस्तेमाल के लिये svn update . && ant clean build start; donebeep
। ध्यान दें कि मैं ;
इसके बजाय उपयोग कर रहा हूं &&
, ताकि यह मुझे विफलता के साथ-साथ सफलता पर भी सूचित कर सके।
इससे पहले कि मैं सीखताafplay
, मैं say
इसके बजाय संदेश बोलता था। donebeep
इस स्क्रिप्ट द्वारा भूमिका निभाई गई थी:
#!/bin/bash
say -v Bruce "Done $(basename "$(pwd)"), $@." &
यह स्क्रिप्ट दो अलग संदेश रखने के बजाय सीधे निकास कोड बोलती है। इसमें वर्तमान निर्देशिका के नाम (यह स्पष्ट करने में सहायता के लिए कि कौन सा कार्य किया गया है), और उपनामों को पास करने के लिए अतिरिक्त पाठ कहा जा सकता है (इसीलिए उपनाम इसमें "$@"
है)। अनुगामी पर ध्यान दें &
ताकि आपको संकेत मिलने से पहले भाषण समाप्त होने की प्रतीक्षा करने की आवश्यकता न हो।
के लिए मैन पेजafplay
अधूरा है; afplay -h
सभी विकल्पों को सूचीबद्ध करता है:
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
।