在mac终端上播放声音

rk.*_*rk. 85 terminal alert macos

我有一个在后台运行的脚本,每隔几分钟就会向我发送一个警报。我希望警报以哔声的形式出现。

问题:如何在 mac 终端中播放提示音?

Lri*_*Lri 140

printf \\aosascript -e beep播放默认警报声音,但如果警报音量设置为零,它们将保持静音。printf \\a如果可听铃被禁用,它也会静音。

您也可以使用 afplay 或说:

afplay /System/Library/Sounds/Funk.aiff
say done
Run Code Online (Sandbox Code Playgroud)

里面有更多的音效文件/System/Library/PrivateFrameworks/ScreenReader.framework/Versions/A/Resources/Sounds/

  • 甜的!您可以使用`say -v ?`(至少在优胜美地)来获取安装的声音列表——我有几个!这是一个小脚本,可以在每个可用的语音中说出您想要的内容:`for i in $(say -v \? | awk '{print $1;}'); 做回声 $i; 说 -v $i "构建终止\!"; 完成` (2认同)
  • 在 macOS Catalina 中,由于 zsh,我必须使用带单引号的 `say -v '?'`。 (2认同)

dem*_*ure 15

最简单的方法是使用铃铛 echo -e "\a"

  • 没有为我工作。我需要一个包裹吗? (2认同)

wis*_*cky 6

另一种方法是echo ^G. 但您并不是逐字输入^G. 相反,输入ctrl+v, ctrl+g,它将显示为echo ^G


小智 6

聆听并选择

ls /System/Library/Sounds/ | awk '{print $1}' | while read sound; do printf "using $sound...\n"; afplay /System/Library/Sounds/$sound; sleep 0.5; done

ls /System/Library/PrivateFrameworks/ScreenReader.framework/Versions/A/Resources/Sounds/ | awk '{print $1}' | while read sound; do printf "using $sound...\n"; afplay /System/Library/PrivateFrameworks/ScreenReader.framework/Versions/A/Resources/Sounds/$sound; sleep 0.5; done
Run Code Online (Sandbox Code Playgroud)


Ken*_*itt 5

tput bel适用于大多数 shell。

从这个关于相关 Stack Overflow 问题的答案: