Как заставить терминал выдавать звуковой сигнал каждый раз, когда мне предлагают написать команду?

Я хочу каждый раз, когда у меня есть командная строка (то есть, конец команды), чтобы получить звук, чтобы привлечь внимание к терминалу [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 на заднем плане].

введите описание здесь
так как заставить это работать?

2 ответа

Решение

Я нашел ответ,
просто \[$(COMMAND) выполнить команду с каждой подсказкой терминала.
Для меня я просто поместил команду в скрипт, а затем запустил ее, поставив \[$(~/sound2.sh \# \u) в конце переменной ps1 и перед ее `-> в файле.bashrc
И скрипт такой:

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

Скрипт принимает 2 аргумента:

  • $1 количество команд, введенных в этот сеанс оболочки. чтобы узнать, если вы только что открыли терминал, терминал скажет привет, а затем
  • $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)'

И мой терминал выглядит так:введите описание изображения здесь

Поместите любую из следующих строк перед оператором ввода пользователя.

echo -en "\007"

или же

echo -ne '\a' and printf '\a'
Другие вопросы по тегам