경고음 문자
1. 개요
경고음 문자(BEL)는 ASCII와 유니코드에서 10진수 7, 16진수 0x07에 할당된 제어 문자이다. 캐럿 표기법으로는 ^G로 표시되며, 유니코드에서는 U+2407로 표현된다. C 언어에서는 \a로 표현되며, 'alert' 또는 'audible'의 약자이다. 과거에는 타자기나 초기 컴퓨터 환경에서 알림 용도로 사용되었으며, 현재는 다양한 운영체제의 터미널 환경에서 벨 소리 또는 시각적 알림을 발생시키는 데 사용될 수 있다.
2. 표현
ASCII에서 경고음 문자의 값은 7이며 "BELL" 또는 "BEL"로 명명되었다. 유니코드는 제어 문자에 이름을 부여하지 않지만 "ALERT"라는 별칭과 "BEL"이라는 약어를 할당했다. 캐럿 표기법으로 `^G`로 표시할 수 있다. 유니코드에는 문자의 시각적 표현을 위한 문자(␇, ␍)도 포함되어 있다.
5비트 보도 코드에서 BEL은 "숫자" 모드일 때 숫자 11(0x0B)로 표시된다. 코드 0x2F는 EBCDIC에서 사용된다.
벨 문자는 ASCII와 유니코드에서 10진수로 7, 16진수로 0x07에 할당되어 있다.
2.1. 캐럿 표기법
ASCII에서 경고음 문자의 값은 7이며, 캐럿 표기법에서는 `^G`로 표시된다. 유니코드에서는 제어 문자를 시각적으로 표현하기 위해 ␇ (U+2407)을 정의하였다.
2.2. 유니코드
유니코드는 제어 문자의 도형 표현으로 ␇ (U+2407)을 정의한다.
2.3. 프로그래밍 언어
1972년에 만들어진 C와 파이썬과 같이 C의 영향을 받은 많은 프로그래밍 언어에서는 경고음 문자를 `\a`를 사용하여 문자열 또는 문자 상수 안에 넣을 수 있다. 'a'는 "alert"(경고) 또는 "audible"(가청)을 의미하며, `\b`가 이미 백스페이스 문자에 사용되었기 때문에 선택되었다.
3.1. 명령어
유닉스 계열 시스템이나 MS-DOS 또는 윈도우에서 사용자는 명령 프롬프트에 다음 명령을 입력하여 벨 소리를 내는 것과 동일한 효과를 낼 수 있다.
`echo ^G`
여기서 `^G`는 Ctrl 키와 G 키를 동시에 눌러 생성한다. 유닉스에서는 `^G`를 "인용"하기 위해 Ctrl+V를 먼저 입력해야 할 수도 있다.
POSIX 시스템에서는 다음을 사용할 수 있다.
`printf '\a'`
Bash 셸에서는 ANSI-C 인용을 사용할 수 있다.
`echo $'\a'`
ncurses 라이브러리의 일부로 대부분의 유닉스/리눅스 운영 체제에서 사용할 수 있는 tput 명령을 사용하는 방법도 있다.
`tput bel`
프로그램은 BEL 문자를 터미널에 출력하여 같은 결과를 얻을 수 있다.
리눅스에서는 다음 명령으로도 같은 결과를 얻을 수 있다.
`echo -e "\a"`
최신 시스템에서는 소리가 나지 않을 수 있다. 대신 화면 깜빡임과 같은 시각적 표시를 하거나 아무것도 하지 않을 수 있다.
3.2. 현대 시스템에서의 동작
유닉스 계열 시스템이나 MS-DOS 또는 윈도우에서 사용자는 다음 명령을 명령 프롬프트에 입력하여 벨이 울리는 것과 동일한 효과를 낼 수 있다.
echo ^G
여기서 ^G는 Ctrl 키를 누른 상태에서 G 키를 입력하여 생성된다. 유닉스에서는 사용자가 먼저 Ctrl+V를 입력하여 ^G를 "인용"해야 할 수도 있다.
POSIX 시스템에서는 다음과 같이 사용할 수도 있다.
printf '\a'
그리고 Bash 셸에서는 ANSI-C 인용을 사용할 수 있다.
echo $'\a'
또 다른 방법은 대부분의 유닉스/리눅스 운영 체제에서 ncurses 라이브러리의 일부로 사용 가능한 tput 명령을 사용하는 것이다.
tput bel
프로그램은 BEL 문자를 터미널에 출력하여 동일한 결과를 얻을 수 있다.
최신 시스템에서는 소리가 나지 않을 수 있다. 대신 화면을 깜빡이는 것과 같은 시각적 표시를 하거나 아무것도 하지 않을 수 있다.
4. 한국에서의 사용
과거 한국에서는 타자기에서 경고음을 내거나, 초기 컴퓨터 환경(예: 도스 시절)에서 특정 상황에 대한 알림을 위해 벨 문자가 사용되었다.
현재는 윈도우, 유닉스 계열 운영체제 등 다양한 운영체제의 터미널 환경에서 벨 문자를 출력할 수 있으며, 그 동작 방식은 시스템 설정에 따라 다를 수 있다. 예를 들어, 윈도우의 명령 프롬프트나 PowerShell에서는 기본적으로 벨 소리가 나지만, 사용자가 설정을 변경하여 소리를 끄거나 시각적 알림으로 바꿀 수 있다.
벨 문자를 출력하는 방법은 다음과 같다.
* 유닉스 계열 시스템이나 MS-DOS 또는 윈도우에서 사용자는 다음 명령을 명령 프롬프트에 입력하여 벨이 울리는 것과 동일한 효과를 낼 수 있다.
```
echo ^G
```
여기서 `^G`는 키를 누른 상태에서 키를 입력하여 생성된다. 유닉스에서는 사용자가 먼저 +를 입력하여 `^G`를 "인용"해야 할 수도 있다.
* POSIX 시스템에서는 다음과 같이 사용할 수도 있다.
```
printf '\a'
```
* Bash 셸에서는 ANSI-C 인용을 사용할 수 있다.
```
echo $'\a'
```
* 또 다른 방법은 대부분의 유닉스/리눅스 운영 체제에서 ncurses 라이브러리의 일부로 사용 가능한 tput 명령을 사용하는 것이다.
```
tput bel
```
프로그램은 BEL 문자를 터미널에 출력하여 동일한 결과를 얻을 수 있다. 최신 시스템에서는 소리가 나지 않을 수 있다. 대신 화면을 깜빡이는 것과 같은 시각적 표시를 하거나 아무것도 하지 않을 수 있다.
* 리눅스에서는 다음 명령으로도 같은 결과를 얻을 수 있다.
```
echo -e "\a"