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