Воспроизвести звук на Mac-терминале

36774
rk.

У меня есть скрипт, работающий в фоновом режиме, и каждые несколько минут он отправляет мне уведомление. Я хочу, чтобы оповещение было в форме звукового сигнала.

Вопрос: Как я могу воспроизвести звуковой сигнал в Mac-терминале?

42

3 ответа на вопрос

71
user495470

printf \\a and osascript -e beep play the default alert sound, but they are silent if the alert volume is set to zero. printf \\a is also silent if an audible bell is disabled.

You could also use afplay or say:

afplay /System/Library/Sounds/Funk.aiff say done 

There are more sound effect files in /System/Library/PrivateFrameworks/ScreenReader.framework/Versions/A/Resources/Sounds/.

Я использовал, скажем, до сих пор, Afplay сделал свое дело. Спасибо! rk. 10 лет назад 0
Милая! Вы можете использовать `say -v?` (По крайней мере в Yosemite), чтобы получить список установленных голосов - у меня их было несколько! Вот небольшой скрипт, чтобы сказать, что вы хотите в каждом доступном голосе: `для меня в $ (скажем -v \? | Awk ''); сделать эхо $ я; сказать -v $ i "Сборка прекращена \!"; done` scorpiodawg 9 лет назад 1
11
demure

The simplest way is the use a bell echo -e "\a"

Не работал для меня Мне нужен пакет? rk. 10 лет назад 0
На какой версии OS X вы работаете? Также проверьте настройки эмулятора терминала и убедитесь, что у вас не отключен звонок. demure 10 лет назад 0
Ах! Звуки терминала не были включены. Кроме того, есть ли приличный звонок / сигнал тревоги по сравнению с глухим стуком, который издает эта команда? rk. 10 лет назад 0
Я использую iTerm2 сам, который использует рычание (чтобы колокола превращались в рычание), через рычание я добавляю еще один звук в оповещения iTerm2. Да, вроде как. demure 10 лет назад 0
Ох, я буду использовать эту настройку в качестве последнего средства;) rk. 10 лет назад 0
Вы можете изменить звук, воспроизводимый в Системных настройках. Звук, используемый терминалом, это всего лишь системный звуковой сигнал, который вы можете найти в настройках звука. Tonny 10 лет назад 0
@ Тонни вполне в силе, и я должен был вспомнить упомянуть об этом. Я не использую этот метод, так как хочу показать разницу между командной строкой и остальной системой, которая пищит меня. demure 10 лет назад 0
@demure В идеале я тоже, но я запускаю так мало скриптов (на OSX), что никогда не удосужился настроить что-то подобное. Я просто включаю «Видимый звонок», чтобы получить этот небольшой дополнительный отзыв. Tonny 10 лет назад 0
обнаружил, что echo ^ G и tput bel имеют одинаковый эффект. rk. 10 лет назад 0
Не уверен, почему это оправданное голосование: / demure 10 лет назад 0
Что делает опция `-e`? Он не указан в справочных страницах Startec 8 лет назад 0
Способ сделать псевдоним командной строки для одного (без escape-последовательностей): alias beep = 'tput bel' Jeff Clayton 8 лет назад 0
1
wisbucky

Другим способом является echo ^G. Но вы не печатаете буквально ^G. Вместо этого введитеctrl+v, ctrl+g, который будет отображаться как echo ^G.

@tmanok На маке? `ctrl + G` само по себе ничего не делает для меня на Mac. wisbucky 6 лет назад 0
Ой? Это на Сьерра и Йосемити для меня .... Странно Tmanok 6 лет назад 0
Но он не работает на моей машине с 10.6 - может быть, некоторые из моих инструментов CLI или Homebrew с этим не справляются. Я отзову свой комментарий, извинения. Tmanok 6 лет назад 0