警报通知

警报通知

我编写了一直运行的简单脚本,每当文件大小发生更改时,它都会向终端写入类似“大小已更改”之类的内容,但不是终端消息,是否有可能实际得到一些提示或警报声音就像C语言一样?

答案1

在 C 中,您可以输出 BEL 字符 '\a'。在脚本中,您可以这样做:

echo -e '\a'

如果您没有听到声音,请务必检查是否有

blacklist pcspkr

在你的/etc/modprobe.d/blacklist.conf(如果有的话将其注释掉并重新启动)。

或者,如果您有一个不错的声音短声音文件xyz.mp3,并且已经vlc安装,您可以执行以下操作:

cvlc --no-one-instance --volume 100 --quiet --no-loop --no-repeat --play-and-exit xyz.mp3

答案2

如果您的终端没有发出任何声音,它仍然(更有可能)发出可见的警报:

tput flash

对于大多数系统来说,tput接受terminfo名称包括flash.这术语信息ncurses 手册说:

   flash_screen              flash  vb   visible bell (may
                                         not move cursor)

   If the terminal has a way of flashing the screen to  indi-
   cate  an  error quietly (a bell replacement) then this can
   be given as flash; it must not move the cursor.

一些实现仅接受 termcap 名称。某些终端模拟器不会使用任何方法使屏幕闪烁(并且在 ncurses 中)终端数据库,首选终端描述不包括该功能)。其中一些可能会设置TERMxterm(但是xterm本身有效)。

相关内容