如何让终端在命令完成时发出声音?

1 gnome sound command-line gnome-terminal

假设我运行一个需要很长时间才能完成任务的命令,但我不想或不需要一直查看它,并且因为我还需要做一些其他事情,所以我可能会陷入其中并忘记检查该命令在一段时间内的运行情况...然后,当我最终检查时,我可能会发现该命令在 3 小时前完成,然后需要我的注意...或者也许它不需要我的注意,如果我当我看到它已经完成时,我将有更多时间运行更多命令......

所以我想知道是否有一种方法可以获取它,以便当命令或程序运行时,每当它完成并返回到 时$,它都会发出一点声音,例如播放 mp3 文件或其他东西?虽然仅仅让它在 中工作是可以接受的gnome-terminal,但我希望它能在尽可能多的 CLI 环境中运行,包括 TTY(如果可能的话)...我正在运行 Ubuntu GNOME 15.10 和 GNOME 3.18。

mch*_*hid 5

首先,运行以下命令来启用pcspkr并安装beep

sudo sed -i 's/blacklist pcspkr/#blacklist pcspkr/g' /etc/modprobe.d/blacklist.conf
sudo modprobe pcspkr
sudo apt-get install beep
Run Code Online (Sandbox Code Playgroud)

现在,像这样运行命令beep

sudo apt-get update; beep
Run Code Online (Sandbox Code Playgroud)

或者

sudo apt-get update; beep;beep;beep;beep;beep
Run Code Online (Sandbox Code Playgroud)

最后,要控制 的音量beep,请通过运行以下命令更改beep音量:alsamixer

alsamixer
Run Code Online (Sandbox Code Playgroud)

现在,使用右箭头键滚动到自动静音选项。使用向上箭头将其关闭。

然后使用向左箭头键滚动至蜂鸣声,并使用向上或向下箭头键提高或降低蜂鸣声的音量。

使用该M键可将任何通道静音或取消静音。

ESC退出alsamixer

可以在以下位置找到更多蜂鸣声选项:

man beep
Run Code Online (Sandbox Code Playgroud)

编辑

现在,要让终端在运行每个命令后发出蜂鸣声,请运行以下命令:

cp .bashrc .bashbackup
echo 'PROMPT_COMMAND="beep"' | tee -a .bashrc
. .bashrc
Run Code Online (Sandbox Code Playgroud)