fbpx

Comandos Linux – Comando tput

Comando Linux tput

comando tput

Em sistemas operacionais do tipo Unix, o comando tput inicializa um terminal ou consulta o banco de dados terminfo .

Este documento cobre a versão Linux do tput .

Descrição

O utilitário tput usa o banco de dados terminfo para disponibilizar os valores dos recursos e informações dependentes do terminal para o shell , para inicializar ou redefinir o terminal ou retornar o nome longo do tipo de terminal solicitado. O resultado depende do tipo de recurso:

cordatput grava a string na saída padrão. Nenhuma nova linha final é fornecida.
inteirotput grava o valor decimal na saída padrão, com uma nova linha à direita.
boleanotput define o código de saída ( 0 para TRUE se o terminal tiver capacidade, 1 para FALSE se não tiver) e não grava nada na saída padrão.

Antes de usar um valor retornado na saída padrão, o aplicativo deve testar o código de saída (por exemplo, $ ?; Consulte sh para obter detalhes) para garantir que seja 0 . (Consulte as seções Códigos de saída e diagnóstico .) Para obter uma lista completa dos recursos e o nome da capa associado a cada um, consulte o manual para terminfo .

Sintaxe

tput [-T type ] capname [ params ...]
tput [-T type ] init
redefinição de tput [-T type ]
tput [-T type ] nome longo
tput -S <<
tput -V

Opções

-T tipoIndica o tipo de terminal. Normalmente, essa opção é desnecessária, porque o padrão é obtido da variável de ambiente TERM . Se -T for especificado, as variáveis ​​de shell LINES e COLUMNS serão ignoradas e o sistema operacional não será consultado quanto ao tamanho real da tela.
capnameIndica a capacidade do banco de dados terminfo . Quando o suporte ao termcap (o banco de dados do recurso de terminal) é compilado , o nome do termcap para o recurso também é aceito.
paramsSe o recurso for uma sequência que aceita parâmetros , os parâmetros de argumentos serão instanciados na sequência. A maioria dos parâmetros são números. Apenas alguns recursos terminfo requerem parâmetros de string; tput usa uma tabela para decidir qual passar como strings. Se nenhum parâmetro for fornecido para a capacidade, tput grava a string sem executar a substituição.

 

-SPermite mais de um recurso por chamada de tput . As capacidades devem ser passados para tput a partir da entrada padrão em vez da partir da linha de comando (ver exemplo abaixo). Apenas um nome de capa é permitido por linha. A opção -S altera o significado dos códigos booleanos e de saída de seqüência de caracteres 0 e 1 (consulte a seção Códigos de saída ).

Novamente, tput usa uma tabela e a presença de parâmetros em sua entrada para decidir se e como interpretar os parâmetros.

-VRelata a versão do ncurses (uma biblioteca de programação de interface de texto) usada neste programa e sai.
iniciarSe o banco de dados terminfo estiver presente e existir uma entrada para o terminal do usuário (consulte o tipo -T acima), ocorrerá o seguinte:

  • Se presente, as seqüências de inicialização do terminal serão exibidas conforme detalhado na seção terminfo em Guias e inicialização,
  • Quaisquer atrasos (por exemplo, nova linha) especificados na entrada serão definidos no driver tty ,
  • A expansão de guias será ativada ou desativada de acordo com a especificação na entrada e
  • Se as guias não forem expandidas, as guias padrão serão definidas a cada 8 espaços.

Se uma entrada não contiver as informações necessárias para qualquer uma das quatro atividades acima, essa atividade será ignorada silenciosamente.

restabelecerEm vez de colocar as strings de inicialização, as strings de redefinição do terminal serão exibidas se presentes ( rs1 , rs2 , rs3 , rf ). Se as strings de redefinição não estiverem presentes, mas as strings de inicialização existirem, as strings de inicialização serão exibidas. Caso contrário, o reset atua de forma idêntica ao init .
nome longoSe o banco de dados terminfo estiver presente e existir uma entrada para o terminal do usuário (consulte o tipo -T acima), o nome longo do terminal será colocado. O nome longo é o sobrenome na primeira linha da descrição do terminal no banco de dados terminfo .

Se a tput for chamada por um link chamado reset , isso terá o mesmo efeito que a redefinição da tput . Veja tset para comparação, que tem comportamento semelhante.

Códigos de saída

Se a opção -S for usada, o tput verificará erros de cada linha e, se houver algum erro, definirá o código de saída como 4 mais o número de linhas com erros. Se nenhum erro for encontrado, o código de saída será 0 . Nenhuma indicação de qual linha falhou pode ser fornecida, portanto o código de saída 1 nunca aparecerá. Os códigos de saída 2 , 3 e 4 mantêm sua interpretação usual. Se a opção -S não for usada, o código de saída dependerá do tipo de nome da capa :

boleanoUm valor de 0 é definido para TRUE e 1 para FALSE.
cordaUm valor 0 é definido se o nome do cap for definido para este tipo de terminal (o valor do cap cap é retornado na saída padrão); um valor 1 é definido se capname não estiver definido para este tipo de terminal (nada é gravado na saída padrão).
inteiroUm valor 0 é sempre definido, independentemente de o nome do capitão estar ou não definido para esse tipo de terminal. Para determinar se capname está definido para este tipo de terminal, o usuário deve testar o valor gravado na saída padrão. Um valor de -1 significa que o nome da capa não está definido para este tipo de terminal.
de outrosredefinição ou o init pode falhar ao encontrar seus respectivos arquivos. Nesse caso, o código de saída é definido como 4 + errno .

Qualquer outro código de saída indica um erro, conforme listado na seção Diagnóstico .

Diagnóstico

tput imprime as seguintes mensagens de erro e define os códigos de saída correspondentes:

0 0capname é uma variável numérica que não é especificada no banco de dados terminfo para este tipo de terminal, por exemplo, tput -T450 lines e tput -T2621 xmc .
1Nenhuma mensagem de erro é impressa; consulte a seção Códigos de saída .
2Erro de uso.
3Tipo de terminal desconhecido ou nenhum banco de dados terminfo .
4Nome da capa da capacidade terminfo desconhecida .
4Ocorreu um erro conforme a opção -S .

arquivos

/ etc / terminfoO banco de dados de descrição do terminal compilado.
/ usr / share / tabset / *Configurações de tabulação para alguns terminais, em um formato apropriado para ser enviado ao terminal (seqüências de escape que definem margens e tabulações); para mais informações, consulte o manual para terminfo .

Exemplos

tput init

Inicialize o terminal de acordo com o tipo de terminal na variável de ambiente TERM . Este comando deve ser incluído no arquivo .profile após a exportação da variável de ambiente TERM .

redefinição tput -T5620

Redefina um terminal AT&T 5620, substituindo o tipo de terminal na variável de ambiente TERM .

copo tput 0 0

Envie a sequência para mover o cursor para a linha 0 , coluna 0 (o canto superior esquerdo da tela, geralmente conhecido como posição do cursor “inicial”).

tput clear

Faça eco da sequência de tela limpa para o terminal atual.

tput cols

Imprima o número de colunas para o terminal atual.

tput -T450 cols

Imprima o número de colunas para o terminal 450.

negrito = `tput smso` offbold =` tput rmso`

Defina as variáveis ​​do shell em negrito, para iniciar a sequência do modo de destaque, e em negrito, para finalizar a sequência do modo de destaque, para o terminal atual. Este comando pode ser seguido por um prompt: echo “$ {bold} Digite seu nome: $ {offbold} \ c” .

tput hc

Defina o código de saída para indicar se o terminal atual é um terminal de cópia impressa.

copo tput 23 4

Envie a sequência para mover o cursor para a linha 23, coluna 4.

copo tput

Envie a sequência terminfo para o movimento do cursor, sem parâmetros substituídos.

nome longo

Imprima o nome longo do banco de dados terminfo para o tipo de terminal especificado na variável de ambiente TERM .

limpar – Limpe a tela.
stty – Defina opções para o visor do seu terminal.
guias – Definir paradas de guia em um terminal.

22 de novembro de 2019

Sobre nós

A Linux Force Brasil é uma empresa que ama a arte de ensinar. Nossa missão é criar talentos para a área de tecnologia e atender com excelência nossos clientes.

CNPJ: 13.299.207/0001-50
SAC:         0800 721 7901

[email protected]

Comercial  Comercial: (11) 3796-5900

Suporte:    (11) 3796-5900
[email protected]

Copyright © Linux Force Security  - Desde 2011.