Comando Linux 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:
corda | tput grava a string na saída padrão. Nenhuma nova linha final é fornecida. |
inteiro | tput grava o valor decimal na saída padrão, com uma nova linha à direita. |
boleano | tput 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 tipo | Indica 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. |
capname | Indica 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. |
params | Se 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.
|
-S | Permite 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. |
-V | Relata a versão do ncurses (uma biblioteca de programação de interface de texto) usada neste programa e sai. |
iniciar | Se 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 uma entrada não contiver as informações necessárias para qualquer uma das quatro atividades acima, essa atividade será ignorada silenciosamente. |
restabelecer | Em 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 longo | Se 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 :
boleano | Um valor de 0 é definido para TRUE e 1 para FALSE. |
corda | Um 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). |
inteiro | Um 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 outros | A redefiniçã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 0 | O capname é 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 . |
1 | Nenhuma mensagem de erro é impressa; consulte a seção Códigos de saída . |
2 | Erro de uso. |
3 | Tipo de terminal desconhecido ou nenhum banco de dados terminfo . |
4 | Nome da capa da capacidade terminfo desconhecida . |
> 4 | Ocorreu um erro conforme a opção -S . |
arquivos
/ etc / terminfo | O 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 .
Comandos relacionados
limpar – Limpe a tela.
stty – Defina opções para o visor do seu terminal.
guias – Definir paradas de guia em um terminal.