我只是希望Mac OS X 10.6能像开放suse和其他发行版一样发出硬件哔哔声。我尝试了以下方法

Terminal -> beep = -bash: beep:命令不存在

终端->说哔哔=声音说哔哔(不是硬件的哔哔但很棒;))

applescript -> beep =麦金塔铃声(我想要一个硬件beep!)

有人知道如何在bin/bash或applescript中使硬件发出哔哔声吗?


当前回答

Tput bel工作在大多数贝壳。

在OS X中,如果命令在终端不在前台时执行,这个(以及任何其他让铃声响起的命令)也会给你一个徽章:

其他回答

printf "\a"

如果你看man printf,它会给你一个转义字符列表,包括\a:

\a      Write a <bell> character.

告诉应用程序“系统事件”哔哔声

macOS中没有“硬件哔哔声”。

The functionality you're thinking of is an artifact of very old (pre-1990s) IBM PC-compatible hardware. Before most computers had sound cards, most machines had a small speaker or piezo buzzer connected to one of the channels of a timer chip. This could be used to generate simple tones or beeps. Even after many computers integrated sound cards, it remained common for quite some time for computers to route this output to a separate internal speaker. More recently, many computers, especially laptops, have integrated this functionality into the onboard sound card.

(如果你对PC扬声器接口工作原理的技术细节感到好奇,这里有更多细节。)

这种硬件在苹果电脑中从未存在过。唯一可用的音频输出是通过声卡,macOS中唯一的系统哔哔声是用户的警报声。

播放任意警报声音与afplay

我很惊讶没有人提到afplay:这是一个播放任意声音文件的命令行程序。它从最初的OS X版本(还有NeXTSTEP,如果你的记忆够长的话)就已经存在了。

例如,你可以在命令行或者脚本中运行:

$ afplay /System/Library/Sounds/Ping.aiff

你不局限于系统声音;使用afplay的一个优点是,您可以选择自己的声音文件作为警报。例如,你可以下载其中一个声音文件并选择你最喜欢的。

(如果你能找到33型电传铃的录音就会加分!)

如果你安装了XCODE,你可以发出哔哔声。我还没有发现我可以让打印“\a”字符在C中工作。

有一种方法可以让声音在程序运行时工作,启动XCODE,在XCODE下拉菜单,首选项,行为,选中第一个框播放声音,从列表中选择或添加一个声音。

这是一种方法,但我认为只有在程序运行时才能做到。