每次提示我输入命令时,如何让终端提示符发出声音?

每次提示我输入命令时,如何让终端提示符发出声音?

我希望每次命令提示符(即命令结束时)时都能发出声音来引起终端的注意[as i am using laptop \a character is not going to work with me]

我想要运行的命令是:mplayer /home/naruto/Music/sfx_msg-highlight.wv &> /dev/null &我把它放在 sound.sh 文件中,并使它可以访问,但是当我将 ./sound.sh 添加到我的 .bashrc --> ps1 时,它只会打印它 [您还可以在后台看到我的 ps1]。

在此处输入图片描述
那么如何让它工作呢?

答案1

我找到了答案,
只需\[$(COMMAND)在每个终端提示符下运行一个命令即可。
对我来说,我只需将命令放在脚本中,然后通过\[$(~/sound2.sh \# \u)在 .bashrc 文件中将其放在 ps1 变量的末尾和结尾 ` --> 之前来运行它
,脚本如下:

if [ $1 = 1 ]; then
    spd-say "Welcome $2" &
else
    mplayer /home/naruto/Music/sfx_msg-highlight.wv &> /dev/null &
fi

该脚本接受两个参数:

  • $1是输入到此 shell 会话中的命令数。要知道你是否刚刚打开了终端,那么终端会说你好,然后
  • $2当前用户名,如果您每次输入命令时收到提示,它都会播放声音文件以引起我的注意,我正在运行的命令已经完成。

以下是我的 ps1,供喜欢它的人参考:

在此处输入图片描述

PS1='${debian_chroot:+($debian_chroot)}\[\033[0;43m\]\[\033[1;34m\]██▓▒░\[\033[1;32m\]\u\[\033[1;30m\]⌘ \[\033[1;32m\]\h:\[\033[1;31m\]\w░▒▓█\[\033[0;31m\]█▓░\[\033[0;32m\]⇒᚜\!:\#᚛\[\033[00m\]\$ \[$(~/sound2.sh \# \u)'

我的终端如下所示: 在此处输入图片描述

答案2

将以下任意一行放在用户输入语句之前。

echo -en "\007"

或者

echo -ne '\a' and printf '\a'

相关内容