Estações de trabalho on-line OnWorks Linux e Windows

Logotipo

Hospedagem online grátis para estações de trabalho

<Anterior | Conteúdo | Próxima>

Movendo o Cursor

Os códigos de escape podem ser usados ​​para posicionar o cursor. Isso é comumente usado para fornecer um relógio ou algum outro tipo de informação em um local diferente na tela, como um canto superior sempre que o prompt é desenhado. Aqui está uma lista dos códigos de escape que posicionam o cursor:


Tabela 13-4: Sequências de escape de movimento do cursor

Escape Code Action

\ 033 [l;cH Mova o cursor para a linha l e coluna c


imagem

\ 033 [nA Mova o cursor para cima n linhas


imagem

\ 033 [nB Mova o cursor para baixo n linhas


imagem

\ 033 [nC Mova o cursor para frente n caracteres


imagem

\ 033 [nD Mova o cursor para trás n caracteres


imagem

\ 033 [2J Limpar a tela e mover o cursor para o canto superior esquerdo (linha 0, coluna 0)


imagem

\ 033 [K Limpar da posição do cursor até o final da linha atual


imagem

\ 033 [s Armazena a posição atual do cursor


imagem

\ 033 [u Recuperar a posição armazenada do cursor


imagem


Usando os códigos acima, construiremos um prompt que desenha uma barra vermelha na parte superior da tela contendo um relógio (renderizado em texto amarelo) cada vez que o prompt for exibido. O código para o prompt é esta string de aparência formidável:



PS1="\[\033[s\033[0;0H\033[0;41m\033[K\033[1;33m\t\033[0m\033[u\]

<\ u @ \ h \ W> \ $ "

PS1="\[\033[s\033[0;0H\033[0;41m\033[K\033[1;33m\t\033[0m\033[u\]

<\ u @ \ h \ W> \ $ "


Vamos dar uma olhada em cada parte da string para ver o que ela faz:

Movendo o Cursor


Tabela 13-5: Divisão de string de prompt complexo


Sequência de ação

Sequência de ação

\[ Começa uma seqüência de caracteres não imprimíveis. O objetivo disso é permitir que o bash calcule corretamente o tamanho do prompt visível. Sem um cálculo preciso, os recursos de edição da linha de comando não podem posicionar o cursor corretamente.


imagem

\ 033 [s Armazena a posição do cursor. Isso é necessário para retornar ao local do prompt após a barra e o relógio terem sido desenhados na parte superior da tela. Esteja ciente de que alguns emuladores de terminal não reconhecem esse código.


imagem

\ 033 [0; 0H Mova o cursor para o canto superior esquerdo, que é a linha 0, coluna 0.


imagem

\ 033 [0; 41m Defina a cor de fundo para vermelho.


imagem

\ 033 [K Limpe a partir da localização atual do cursor (o canto superior esquerdo) até o final da linha. Como a cor de fundo agora é vermelha, a linha é limpa para essa cor criando nossa barra. Observe que limpar até o final da linha não altera a posição do cursor, que permanece no canto superior esquerdo.


imagem

\ 033 [1; 33m Defina a cor do texto para amarelo.


imagem

\t Exibe a hora atual. Embora este seja um elemento de “impressão”, ainda o incluímos na parte não imprimível do prompt, uma vez que não queremos que o bash inclua o relógio ao calcular o tamanho real do prompt exibido.


imagem

\ 033 [0m Desligue a cor. Isso afeta o texto e o fundo.


imagem

\ 033 [u Restaura a posição do cursor salva anteriormente.


imagem

\] Finalize a seqüência de caracteres não imprimíveis.


imagem

<\ u @ \ h \ W> \ $ Sequência de prompt.


imagem


Top OS Cloud Computing na OnWorks: