Bash에서 텍스트 문자를 입력하는 다양한 방법은 무엇이며 어떻게 수행됩니까? [폐쇄]

Bash에서 텍스트 문자를 입력하는 다양한 방법은 무엇이며 어떻게 수행됩니까? [폐쇄]

Bash에서 리터럴 TAB 문자를 입력하려면 다음을 수행합니다.

  • 키 입력이 tab작동하지 않지만 Bash에서 사용하는 readline 완성을 호출합니다.
  • Ctrl- -일Vtab
  • $(echo $'\t')일하다

질문

  • 세 번째 방법은 실제로 $'\t'Bash가 탭 문자를 ANSI C 문자열로 해석하여 수행됩니다. 이것이 맞습니까?
  • 두 번째 방법은 어떻게 구현됩니까? Bash에서 사용하는 readline이기도 합니까?
  • 일반적으로 텍스트 문자를 입력하는 방법은 무엇입니까?

원천:https://unix.stackexchange.com/a/458074/674

답변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:~$ 

유니코드 문자를 입력하는 방법

ComposeKeyLinux에는 or 라는 것이 있습니다 . MultiKey키는 xorg.conf.d/10-keyboard.conf파일에 정의할 수 있습니다. 파일에 다음 줄을 추가하기만 하면 됩니다.

Option "xkbOptions" "grp:alt_shift_toggle,terminate:ctrl_alt_bksp,compose:menu"`

ComposeUTF-8(유니코드) 쓰기 순서 힌트는 다음 파일에서 찾을 수 있습니다.

less /usr/share/X11/locale/en_US.UTF-8/Compose

키 바인딩은 GUI 터미널에서도 사용할 수 있습니다 . 키를 누르면 문자가 CTRL+SHIFT+U표시됩니다 . 또는 키를 u입력하고 완성하면 8분 음표 기호가 나타납니다.266aSpaceEnter

추가 정보

  1. ANSI-C 인용문
  2. 우분투-ComposeKey
  3. Wikipedia - 작성 키
  4. Ubuntu 18.04에서 작성 키를 설정하는 방법

관련 정보