Quais são as diferentes maneiras de digitar um caractere literal no Bash e como elas são feitas? [fechadas]

0

No Bash, para digitar um caractere TAB literal:

    A tecla
  • pressionando guia não funciona, mas invocará apenas a conclusão da linha de leitura usada pelo Bash
  • Ctrl - v - a aba funciona
  • $(echo $'\t') funciona

Perguntas

  • É correto que a terceira maneira seja realmente feita pelo Bash interpretando $'\t' como uma string ANSI C para o caractere de tabulação?
  • Como o segundo caminho é feito? Também pelo readline usado pelo Bash?
  • Geralmente, quais são algumas maneiras de digitar um caractere literal?

Originado de: link

    
por Tim 25.07.2018 / 01:04

1 resposta

2

Como é feito

Os chamados "caracteres literais" são implementados como caracteres Unicode comuns. Vamos ver como isso funciona para Tabulation e New line . Verifique Tabulation hex-encoding:

printf $'\t' | hexdump

A saída é

0000000 0009                                   
0000001

A saída significa que o caractere \t é o caractere UTF-8 comum U+0009 . Você pode imprimi-lo da seguinte maneira:

printf '\x00\x09'

ou com echo :

echo -e '\u0009'

Considere o seguinte exemplo para New line character:

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

Como inserir caracteres Unicode

Existe o chamado ComposeKey ou MultiKey no Linux. A chave pode ser definida no arquivo xorg.conf.d/10-keyboard.conf , basta adicionar a linha ao arquivo:

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

As dicas de sequência de composição do UTF-8 (Unicode) podem ser encontradas em Compose file:

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

Nos terminais da GUI também funciona CTRL+SHIFT+U keybinding - pressione e você verá u letter. Insira 266a e complete com Space ou Enter key - o sinal Eights Note é exibido.

Informações adicionais

  1. Citações ANSI-C
  2. Ubuntu - ComposeKey
  3. Wikipedia - Compor chave
  4. Como definir uma chave de composição no Ubuntu 18.04
por 25.07.2018 / 08:41

Tags