Bash에서 리터럴 TAB 문자를 입력하려면 다음을 수행합니다.
- 키 입력이 tab작동하지 않지만 Bash에서 사용하는 readline 완성을 호출합니다.
- Ctrl- -일Vtab
$(echo $'\t')
일하다
질문
- 세 번째 방법은 실제로
$'\t'
Bash가 탭 문자를 ANSI C 문자열로 해석하여 수행됩니다. 이것이 맞습니까? - 두 번째 방법은 어떻게 구현됩니까? Bash에서 사용하는 readline이기도 합니까?
- 일반적으로 텍스트 문자를 입력하는 방법은 무엇입니까?
답변1
이를 수행하는 방법
"리터럴 문자"라고 부르는 것은 일반 유니코드 문자로 구현됩니다. Tabulation
및 에서 어떻게 작동하는지 살펴보겠습니다 New line
. 16진수 인코딩을 확인하세요 Tabulation
.
printf $'\t' | hexdump
출력은 다음과 같습니다
0000000 0009
0000001
출력은 해당 \t
문자가 일반 UTF-8 문자임을 나타냅니다 U+0009
. 다음과 같이 인쇄할 수 있습니다.
printf '\x00\x09'
또는 다음과 같이 echo
:
echo -e '\u0009'
다음 New line
문자 예를 고려하십시오.
bob@alice:~$ printf $'\n' | hexdump
0000000 000a
0000001
bob@alice:~$ printf '\x00\x0A empty lines are above and below'; echo $'\n'
empty lines are above and below
bob@alice:~$ echo -e '\u000a empty line is above'
empty line is above
bob@alice:~$
유니코드 문자를 입력하는 방법
ComposeKey
Linux에는 or 라는 것이 있습니다 . MultiKey
키는 xorg.conf.d/10-keyboard.conf
파일에 정의할 수 있습니다. 파일에 다음 줄을 추가하기만 하면 됩니다.
Option "xkbOptions" "grp:alt_shift_toggle,terminate:ctrl_alt_bksp,compose:menu"`
Compose
UTF-8(유니코드) 쓰기 순서 힌트는 다음 파일에서 찾을 수 있습니다.
less /usr/share/X11/locale/en_US.UTF-8/Compose
키 바인딩은 GUI 터미널에서도 사용할 수 있습니다 . 키를 누르면 문자가 CTRL+SHIFT+U
표시됩니다 . 또는 키를 u
입력하고 완성하면 8분 음표 기호가 나타납니다.266a
Space
Enter