Como posso tocar a campainha de áudio dentro de um script bash executado sob a tela do gnu?

12

Em uma janela de terminal konsole fora da tela executando um shell bash com TERM configurado para konsole-256color se eu digitar:

echo -n $ '\ a' ou
echo -n $ '\ eg' ou
./ringbell onde o conteúdo de ./ringbell é

#!/bin/bash
echo -n $'\eg';echo -n $'\a'

Todos eles resultam na campainha de áudio configurada. Se eu entrar em uma sessão de tela (meu .screenrc também define o termo como konsole-256color), somente o segundo dos 3 comandos acima (echo -n $ '\ eg') resultará na campainha de áudio sendo ouvida. Eu tenho que modificar o script ou isso é um problema com a tela?

A versão do ubuntu do pacote de tela que eu tenho é 4.1.0 ~ 20120320gitdb59704-9.

    
por Bob 03.09.2014 / 06:14

1 resposta

13

Da memória, Ctrl-G é o caractere da campainha, então acho que é por isso que a segunda funcionou. Mas a tela pode ser exigente quanto aos caracteres que aceita, pois é preciso usar Ctrl-A como o código de comando.

Tente isso

#!/bin/sh
# Ring the terminal bell
# echo "\a" # does not work in some shells
tput bel

Eu encontrei isso em rosettacode , espero que ele lhe dê algumas opções

    
por 03.09.2014 / 08:07