TERM을 konsole-256color로 설정하여 bash 쉘을 실행하는 화면 외부의 konsole 터미널 창에서 다음을 입력합니다.
echo -n $'\a'
또는
echo -n $'\eg'
또는
./ringbell.sh
의 내용은 어디에 ringbell.sh
있습니까?
#!/bin/bash
echo -n $'\eg'
echo -n $'\a'
이로 인해 구성된 오디오 벨이 울리게 됩니다. 화면 세션에 들어가면(나도 ~/.screenrc
설정함 TERM=konsole-256color
) 위의 3가지 명령 중 두 번째 명령( echo -n $'\eg'
)만 오디오 종소리를 듣게 됩니다. 스크립트를 수정해야 합니까, 아니면 이것이 문제입니까 screen
?
나는 screen
4.1.0~20120320gitdb59704-9
우분투에서 사용합니다.
답변1
기억상으로는 Ctrl-G가 벨 문자이므로 두 번째 문자가 작동했던 것 같습니다. 그러나 화면은 Ctrl-A를 명령 코드로 사용하므로 허용되는 문자를 선택하는 데 까다로울 수 있습니다.
이 시도
#!/bin/sh
# Ring the terminal bell
# echo "\a" # does not work in some shells
tput bel
나는 이것을 찾았다로제타코드, 바라건대 그것은 당신에게 몇 가지 옵션을 제공할 것입니다
답변2
최상의 솔루션:printf '\a'
이는 대부분의 셸에 내장된 것이 잘 작동하고 Linux/Mac 시스템에 설치된 printf
동등한 실행 버전도 있기 때문입니다.printf
기타 옵션:curses가 설치되어 있는 경우 다음을 사용할 수도 있습니다. tput bel
최신 버전의 bash를 사용하는 경우 다음을 사용할 수 있습니다.echo -e '\a'