.\" -*- coding: UTF-8 -*- '\" t .\"*************************************************************************** .\" Copyright 2018-2023,2024 Thomas E. Dickey * .\" Copyright 1998-2016,2017 Free Software Foundation, Inc. * .\" * .\" Permission is hereby granted, free of charge, to any person obtaining a * .\" copy of this software and associated documentation files (the * .\" "Software"), to deal in the Software without restriction, including * .\" without limitation the rights to use, copy, modify, merge, publish, * .\" distribute, distribute with modifications, sublicense, and/or sell * .\" copies of the Software, and to permit persons to whom the Software is * .\" furnished to do so, subject to the following conditions: * .\" * .\" The above copyright notice and this permission notice shall be included * .\" in all copies or substantial portions of the Software. * .\" * .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * .\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * .\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * .\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * .\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * .\" * .\" Except as contained in this notice, the name(s) of the above copyright * .\" holders shall not be used in advertising or otherwise to promote the * .\" sale, use or other dealings in this Software without prior written * .\" authorization. * .\"*************************************************************************** .\" .\" $Id: tput.1,v 1.113 2024/04/20 19:58:50 tom Exp $ .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH tput 1 "20 aprilie 2024" "ncurses 6.5" "Comenzi utilizator" .ie \n(.g \{\ .ds `` \(lq .ds '' \(rq .\} .el \{\ .ie t .ds `` `` .el .ds `` "" .ie t .ds '' '' .el .ds '' "" .\} . .de bP .ie n .IP \(bu 4 .el .IP \(bu 2 .. .ds d /usr/share/terminfo .SH NUME \fB\%tput\fP \- inițializează un terminal, exercită capacitățile acestuia sau interoghează baza de date \fI\%term\%info\fP .SH SINOPSIS \fBtput\fP [\fB\-T\fP \fItip\-terminal\fP] {\fIcod\-capacitate\fP [\fIparametru\fP .\|.\|.\&]} \&.\|.\|. .PP \fBtput\fP [\fB\-T\fP \fItip\-terminal\fP] [\fB\-x\fP] \fBclear\fP .PP \fBtput\fP [\fB\-T\fP \fItip\-terminal\fP] \fBinit\fP .PP \fBtput\fP [\fB\-T\fP \fItip\-terminal\fP] \fB\%reset\fP .PP \fBtput\fP [\fB\-T\fP \fItip\-terminal\fP] \fB\%longname\fP .PP \fBtput \-S\fP .PP \fBtput \-V\fP .SH DESCRIERE \fB\%tput\fP utilizează biblioteca și baza de date \fI\%term\%info\fP pentru a pune la dispoziția shell\-ului capacitățile și informațiile specifice terminalului, pentru a inițializa sau reinițializa terminalul, sau pentru a raporta o descriere a tipului de terminal curent (sau specificat). Capacitățile terminalului sunt accesate prin \fIcod\-capacitate\fP. .PP \fB\%terminfo\fP(5) abordează pe larg capacitățile terminalului și prezintă o listă completă de \fIcoduri\-capacități\fP. .PP .\" "Boolean" + 2n Când se preiau valorile capacității, rezultatul depinde de tipul capacității. .TP 9 Boolean \fB\%tput\fP își stabilește starea de ieșire la \fB0\fP dacă terminalul posedă \fIcod\-capacitate\fP și la \fB1\fP dacă nu. .TP numeric \fB\%tput\fP scrie valoarea zecimală a \fIcod\-capacitate\fP în fluxul de ieșire standard, dacă este definit (\fB\-1\fP dacă nu este definit), urmată de o linie nouă. .TP șir \fB\%tput\fP scrie valoarea lui \fIcod\-capacitate\fP în fluxul de ieșire standard, dacă este definit, fără o linie nouă la sfârșit. .PP Înainte de a utiliza o valoare returnată la ieșirea standard, aplicația trebuie să testeze starea de ieșire a \fB\%tput\fP pentru a se asigura că este 0; a se vedea secțiunea «STARE DE IEȘIRE» de mai jos. .SS Operanzi .\" "longname" + 2n + adjustment for PDF În general, un operand este un \fIcod\-capacitate\fP, un cod de capacitate din baza de date a terminalului, sau un parametru al acestuia. \fB\%tput\fP recunoaște în mod special alte trei: \fBinit\fP, \fB\%reset\fP și \fB\%longname\fP. Cu toate că acestea seamănă cu codurile de capacitate, ele beneficiază de fapt de un tratament special; le numim „pseudo\-capacități”. .TP 11n \fIcod\-capacitate\fP indică o capacitate din baza de date a terminalului. .IP Dacă \fIcod\-capacitate\fP este de tip șir de caractere și are parametri, \fB\%tput\fP interpretează argumentele care urmează lui \fIcod\-capacitate\fP ca parametri, până la cantitatea (fixă) cerută de capacitate. .IP Majoritatea parametrilor sunt numerici. Doar câteva capacități ale terminalului necesită parametri de tip șir de caractere; \fB\%tput\fP utilizează un tabel pentru a decide care să fie trecuți ca șiruri de caractere. În mod normal, \fB\%tput\fP utilizează \fB\%tparm\fP(3X) pentru a efectua substituția. Dacă nu sunt furnizați parametri pentru capacitate, \fB\%tput\fP scrie șirul de caractere fără a efectua substituția. .TP \fBinit\fP inițializează terminalul. Dacă baza de date a terminalului este prezentă și există o intrare pentru tipul de terminal al utilizatorului, se întâmplă următoarele. .RS .TP 5 (1) \fB\%tput\fP preia parametrii de mod ai terminalului. Acesta testează succesiv descriptorii de fișier corespunzători .RS .bP fluxului de ieșire de eroare standard, .bP fluxului de ieșire standard, .bP fluxului de intrare standard și .bP \fI\%/dev/tty\fP .RE .IP \fB\%tput\fP preia parametrii de mod ai terminalului. Acesta testează succesiv descriptorii de fișier corespunzători fluxului standard de eroare, fluxului standard de ieșire, fluxului standard de intrare și X pentru a obține parametrii terminalului. După ce i\-a obținut, \fB\%tput\fP memorează ce descriptor să utilizeze pentru actualizările ulterioare. .TP (2) Dacă dimensiunile terminalului nu pot fi obținute de la sistemul de operare, dar intrarea din baza de date a mediului sau a tipului de terminal le descrie, \fB\%tput\fP actualizează noțiunea sistemului de operare despre acestea. .TP (3) \fB\%tput\fP actualizează modurile terminalului. .RS .bP Orice întârzieri specificate în intrare (de exemplu, atunci când este trimisă o linie nouă) sunt definite în controlorul terminalului. .bP Extinderea tabulatoarelor este activată sau dezactivată conform specificațiilor din intrare, .bP iar dacă tabulatoarele nu sunt extinse, sunt definite tabulatoare standard (la fiecare 8 spații). .RE .TP (4) Dacă sunt prezente capacități de inițializare, detaliate în subsecțiunea «File și inițializare» din \fB\%terminfo\fP(5), \fB\%tput\fP le scrie în fluxul de ieșire standard. .TP (5) \fB\%tput\fP golește fluxul de ieșire standard. .RE .IP Dacă o intrare nu conține informațiile necesare pentru o activitate de mai sus, activitatea respectivă este ignorată în mod silențios. .TP \fBreset\fP reinitializează terminalul. O reinițializare diferă de inițializare în două moduri. .RS .TP 5 (1) \fB\%tput\fP aduce modurile terminalului într\-o stare „corectă de funcționare”, .RS .bP activând modurile pregătit „cooked” și ecou „echo”, .bP dezactivând modurile cbreak și raw, .bP activând traducerea liniei noi și .bP stabilind orice caractere speciale nedefinite la valorile lor implicite. .RE .TP 5 (2) Dacă sunt definite capacități de reinițializare pentru tipul de terminal, \fB\%tput\fP le scrie în fluxul de ieșire. În caz contrar, \fB\%tput\fP utilizează orice capacități de inițializare definite. Capacitățile de reinițializare sunt detaliate în subsecțiunea «File și inițializare» din \fB\%terminfo\fP(5). .RE .TP \fBlongname\fP O intrare \fI\%term\%info\fP începe cu unul sau mai multe nume prin care o aplicație se poate referi la intrare, înainte de lista capacităților terminalului. Numele sunt separate prin caractere „|”. X/Open Curses numește ultimul nume „long name \- nume lung” și indică faptul că acesta poate include spații albe. .IP \fB\%tic\fP avertizează dacă ultimul nume nu include spații albe, pentru a acomoda vechile intrări \fI\%term\%info\fP care tratau numele lung ca o caracteristică opțională. Numele lung este adesea denumit câmp de descriere. .IP Dacă baza de date a terminalului este prezentă și există o intrare pentru tipul de terminal al utilizatorului, \fB\%tput\fP raportează descrierea acestuia pe fluxul de ieșire standard, fără o linie nouă la sfârșit. Consultați \fB\%terminfo\fP(5). .PP \fINotă:\fP Redirecționarea ieșirii \%\*(``\fBtput init\fP\*('' or \%\*(``\fBtput reset\fP\*('' către un fișier va capta doar o parte din acțiunile lor. Modificările modurilor terminalului nu sunt afectate de redirecționarea descriptorului de fișier, deoarece modurile terminalului sunt modificate prin \fB\%ioctl\fP(2). .SS Alias Dacă \fB\%tput\fP este invocat prin intermediul unei legături cu oricare dintre numele \fBclear\fP, \fBinit\fP sau \fB\%reset\fP, acesta funcționează ca și cum ar fi executat cu operandul (pseudo\-)capacității corespunzătoare. De exemplu, executarea unei legături numite \fB\%reset\fP care indică \fB\%tput\fP are același efect ca și \%\*(``\fBtput \%reset\fP\*(''. .PP Această caracteristică a fost introdusă de \fI\%ncurses\fP 5.2 în 2000. Este rar utilizată: .TP \fB\%clear\fP este un program separat, care este deopotrivă mai mic și mai frecvent executat. .TP \fBinit\fP are același nume ca un alt program utilizat pe scară largă. .TP \fB\%reset\fP este furnizat de instrumentul \fB\%tset\fP(1) (de asemenea, prin intermediul unei legături denumite \fB\%reset\fP). .SS "Dimensiunea terminalului" Pe lângă pseudo\-capacități (cum ar fi \fBinit\fP), \fB\%tput\fP tratează în mod special \fIcodurile capacitate\fP, \fBlines\fP și \fBcols\fP: poate apela \fB\%setupterm\fP(3X) pentru a obține dimensiunea terminalului. .bP În primul rând, \fB\%tput\fP încearcă să obțină aceste capacități din baza de date a terminalului. În general, acest lucru eșuează în cazul emulatoarelor de terminale, care nu au o dimensiune fixă a ferestrei și astfel omit capacitățile. .bP Apoi solicită sistemului de operare dimensiunea terminalului, ceea ce în general funcționează, cu excepția cazului în care conexiunea se face printr\-o linie serială care nu acceptă „NAWS”: negocieri privind dimensiunea ferestrei. .bP În cele din urmă, acesta inspectează variabilele de mediu \fILINES\fP și \fI\%COLUMNS\fP, care pot înlocui dimensiunea terminalului. .PP Dacă este dată opțiunea \fB\-T\fP, \fB\%tput\fP ignoră variabilele de mediu prin apelarea \fB\%use_tioctl(TRUE)\fP, bazându\-se pe sistemul de operare (sau, în cele din urmă, pe baza de date a terminalului). .SH OPȚIUNI .\" "-T type" + 2n .TP 9n \fB\-S\fP recuperează mai mult de o capacitate per invocare a \fB\%tput\fP. Capacitățile trebuie transmise către \fB\%tput\fP din fluxul de intrare standard și nu din linia de comandă (a se vedea secțiunea «EXEMPLE» de mai jos). Este permis un singur \fIcod\-capacitate\fP pe linie. Opțiunea \fB\-S\fP modifică semnificația stărilor de ieșire \fB0\fP și \fB1\fP (a se vedea secțiunea «STARE DE IEȘIRE» de mai jos). .IP Unele capacități utilizează parametri de tip șir și nu parametri numerici. \fB\%tput\fP utilizează un tabel încorporat și prezența parametrilor în intrarea sa pentru a decide cum să îi interpreteze și dacă să utilizeze \fB\%tparm\fP(3X). .TP \fB\-T\ \fP\fItip\fP indică \fItipul\fP terminalului. În mod normal, această opțiune nu este necesară, deoarece o valoare implicită este preluată de la variabila de mediu \fITERM\fP. Dacă sunt specificate, variabilele de mediu \fILINES\fP și \fI\%COLUMNS\fP sunt de asemenea ignorate. .TP \fB\-V\fP raportează versiunea de \fI\%ncurses\fP asociată cu \fB\%tput\fP și iese cu o stare de succes. .TP \fB\-x\fP împiedică «\fBtput clear\fP» să încerce să șteargă tamponul de derulare înapoi. .SH "STARE DE IEȘIRE" În mod normal, stările de ieșire ale lui \fB\%tput\fP ar trebui interpretate după cum urmează. .PP .if n .ne 3 .if t .ne 2 .TS Lb Lb Lb Lx. Stare Semnificație când opțiunea „\-S” nu este specificată _ 0 boolean sau șir capacitate prezent 1 boolean sau capacitate numerică absentă 2 eroare de utilizare sau niciun tip de terminal specificat 3 tip de terminal nerecunoscut 4 cod de capacitate nerecunoscut >4 eroare de sistem (4 + \fBerrno\fP) .TE .PP Atunci când se utilizează opțiunea \fB\-S\fP, unele stări își schimbă semnificația. .PP .if n .ne 4 .if t .ne 3 .TS Lb Lb Lb Lx. Stare Semnificație când opțiunea „\-S” este specificată _ 0 toți operanzii interpretați 1 neutilizat 4 unii operanzi nu sunt interpretați .TE .SH MEDIU .\" "TERM" + 2n + adjustment for PDF \fBtput\fP citește o variabilă de mediu. .TP 8n \fITERM\fP indică tipul de terminal. Fiecare tip de terminal este distinct, deși multe sunt similare. Opțiunea \fB\-T\fP prevalează asupra acestei valori. .SH FIȘIERE .TP \fI/usr/share/tabset\fP baza de date de inițializare oprire a tabulatorului .TP \fI\*d\fP baza de date compilată pentru descrierea terminalelor .SH PORTABILITATE De\-a lungul timpului, \fB\%tput\fP \fI\%ncurses\fP s\-a diferențiat de cel a System\ V în două privințe importante, dintre care una este acum mai ales istorică. .bP «\fBtput\fP \fIcod\-capacitate\fP» scrie la ieșirea standard, care nu trebuie să fie un dispozitiv terminal. Cu toate acestea, operanzii care manipulează modurile terminal pot să nu utilizeze ieșirea standard. .IP Operanzii \fBinit\fP și \fB\%reset\fP ai \fBtput\fP System\ V utilizează logica din \fBtset\fP 4.1cBSD, manipulând modurile terminalului. Acesta verifică aceiași descriptori de fișiere (și \fI\%/dev/tty\fP) pentru asocierea cu un dispozitiv terminal, așa cum face acum \fI\%ncurses\fP, iar dacă nu există niciunul, în cele din urmă presupune un terminal de 1200 baud. Atunci când actualizează modurile terminalului, acesta ignoră erorile. .IP Până la \fI\%ncurses\fP 6.1 (a se vedea secțiunea «ISTORIC» de mai jos), \fB\%tput\fP nu a modificat modurile terminalului. Acesta utilizează acum o schemă similară cu System\ V, folosind funcții comune cu \fB\%tset\fP (și în cele din urmă bazat pe \fBtset\fP 4.4BSD). Dacă nu este capabil să deschidă un terminal (de exemplu, atunci când este rulat de \fIcron\fP(1)), \fB\%tput\fP iese cu o stare de eroare. .bP \fBtput\fP System\ V presupune că tipul unui operand \fIcod\-capacitate\fP este numeric dacă toate caracterele din valoarea sa sunt numere zecimale; dacă nu sunt, tratează \fIcod\-capacitate\fP ca o capacitate de șir. .IP Majoritatea implementărilor care oferă suport pentru operanzi \fIcod\-capacitate\fP utilizează funcția \fB\%tparm\fP(3X) pentru a\-și extinde parametrii. Această funcție așteaptă un amestec de parametri numerici și de șir de caractere, necesitând ca \fB\%tput\fP să știe ce tip să utilizeze. .IP \fI\%ncurses\fP \fB\%tput\fP utilizează un tabel pentru a determina tipurile de parametri pentru operanzii \fIcod\-capacitate\fP standard și o funcție internă pentru a analiza operanzii \fIcod\-capacitate\fP non\-standard. .IP Deși este mai fiabilă decât utilitatea System\ V, această analiză introduce o problemă de portabilitate. Un dezvoltator OpenBSD a adaptat funcția bibliotecii interne din \fI\%ncurses\fP pentru a adapta \fBtput\fP bazat pe \fItermcap\fP din NetBSD la \fI\%term\%info\fP, și a modificat\-o pentru a interpreta mai multe \fIcoduri\-capacitate\fP (și parametri) în linia de comandă. Aplicațiile portabile nu trebuie să se bazeze pe această caracteristică; \fI\%ncurses\fP o oferă pentru a oferi suport aplicațiilor scrise special pentru OpenBSD. .PP Această implementare, spre deosebire de altele, acceptă atât \fItermcap\fP, cât și \fI\%term\%info\fP \fIcod\-capacitate\fP dacă este compilat suportul \fItermcap\fP. Totuși, în acest caz, codurile predefinite \fItermcap\fP și \fI\%term\%info\fP au două ambiguități; \fI\%ncurses\fP presupune codul \fI\%term\%info\fP. .bP \fIcod\-capacitate\fP \fBdl\fP înseamnă \fB\%delete_line\fP pentru \fItermcap\fP, dar \fB\%parm_delete_line\fP pentru \fI\%term\%info\fP. \fItermcap\fP utilizează codul \fBDL\fP pentru \fB\%parm_delete_line\fP. \fI\%term\%info\fP utilizează codul \fBdl1\fP pentru \fB\%delete_line\fP. .bP \fIcod\-ul\-decapacitate\fP \fBed\fP înseamnă \fB\%exit_delete_mode\fP pentru \fItermcap\fP, dar \fB\%clr_eos\fP pentru \fI\%term\%info\fP. \fItermcap\fP utilizează codul \fBcd\fP pentru \fB\%clr_eos\fP. \fI\%term\%info\fP utilizează codul \fBrmdc\fP pentru \fB\%exit_delete_mode\fP. .PP .\" longname was added in October 1989. Operandul \fB\\%longname\fP, opțiunea \fB\-S\fP și caracteristicile de substituire a parametrilor utilizate în exemplul \fBcup\fP de mai jos nu erau acceptate în AT&T/USL \fIcurses\fP înainte de SVr4 (1989). Ulterior, 4.3BSD\-Reno (1990) a adăugat suport pentru \fB\%longname\fP, iar în 1994, NetBSD a adăugat suport pentru caracteristicile de substituire a parametrilor. .PP IEEE Std 1003.1/The Open Group Base Specifications Issue 7 (POSIX.1\-2008) documentează numai operanzii \fBclear\fP, \fBinit\fP și \fB\%reset\fP. Din această selecție rezultă câteva observații de interes. .bP \fI\%ncurses\fP acceptă \fBclear\fP ca orice alt \fIcod\-capacitate\fP standard. Celelalte (\fBinit\fP și \fB\%longname\fP) nu corespund capacităților terminalului. .bP \fBtput\fP pe sistemele bazate pe SVr4, cum ar fi Solaris, IRIX64 și HP\-UX, precum și pe altele, cum ar fi AIX și Tru64, acceptă, de asemenea, operanzi \fIcod\-capacitate\fP standard. .bP Câteva platforme, cum ar fi FreeBSD, recunosc codurile \fItermcap\fP și nu codurile de capacități \fI\%term\%info\fP în comenzile lor \fBtput\fP respective. Din 2010, comanda \fBtput\fP a NetBSD utilizează codurile \fI\%term\%info\fP. Înainte de această dată, aceasta (ca și FreeBSD) recunoștea codurile \fItermcap\fP. .IP Începând cu 2021, FreeBSD utilizează \fBtput\fP \fI\%ncurses\fP, configurat atât pentru \fI\%term\%info\fP (testat mai întâi), cât și pentru \fItermcap\fP (ca soluție de rezervă). .PP Deoarece (aparent) toate sistemele Unix \fIcertificate\fP acceptă întregul set de coduri de capacitate, motivul pentru documentarea doar a câtorva poate să nu fie evident. .bP X/Open Curses Issue 7 documentează diferit \fBtput\fP, cu \fIcod\-capacitate\fP și alte caracteristici utilizate în această implementare. .bP Adică, există două standarde pentru \fBtput\fP: POSIX (un subset) și X/Open Curses (implementarea completă). POSIX documentează un subset pentru a evita complicația includerii X/Open Curses și a bazei de date a capacităților terminalului. .bP Deși este cu siguranță posibil să scrieți un program \fBtput\fP fără a utiliza \fIcurses\fP, niciun sistem cu o implementare \fIcurses\fP nu oferă un instrument \fBtput\fP care să nu accepte și \fIcodurile\-de\-capacitate\fP standard. .PP X/Open Curses Issue 7 (2009) este prima versiune care documentează utilitățile. Cu toate acestea, această parte a X/Open Curses nu respectă practicile existente (și anume, comportamentul \fIcurses\fP System\ V). .bP Acesta atribuie starea de ieșire 4 la „invalid operand \- (operand nevalid(”, care poate avea același înțeles ca „unknown capability \- (capacitate necunoscută)”. De exemplu, codul sursă pentru Solaris \fIxcurses\fP utilizează termenul „invalid \- (nevalid)” în acest caz. .bP Acesta atribuie starea de ieșire 255 unei variabile numerice care nu este specificată în baza de date \fI\%term\%info\fP. Aceasta este probabil o eroare de documentare, confundând „\-1” scris la ieșirea standard pentru a indica o capacitate numerică absentă sau anulată cu o stare de ieșire (fără semn). .PP Diferitele implementări System\ V (AIX, HP\-UX, Solaris) utilizează aceleași stări de ieșire ca \fI\%ncurses\fP. .PP NetBSD \fIcurses\fP documentează stările de ieșire care nu corespund nici \fI\%ncurses\fP, nici X/Open Curses. .SH ISTORIC .\" It also exited with backwards exit status (1 on success, 0 on .\" failure), and was characterized by Bostic in 1988 as "pretty .\" unreasonable". .\" See Spinellis's "unix-history-repo" on GitHub. Bill Joy a scris o comandă \fBtput\fP în timpul dezvoltării 4BSD în octombrie 1980. Această versiune inițială ștergea doar ecranul și nu era livrată cu distribuțiile oficiale. .PP System\ V a dezvoltat o comandă \fBtput\fP diferită. .bP SVr2 (1984) a furnizat o versiune rudimentară \fBtput\fP care verifica parametrul în raport cu fiecare capacitate predefinită și returna valoarea corespunzătoare. Această versiune a \fBtput\fP nu folosea \fB\%tparm\fP(3X) pentru capacitățile parametrizate. .bP .\" SVr3 released in 1987, not 1985. .\" https://unix.org/what_is_unix/history_timeline.html SVr3 (1987) l\-a înlocuit cu un program mai extins al cărui suport pentru operanzii \fBinit\fP și \fB\%reset\fP (mai mult de jumătate din program) a încorporat funcția \fB\%reset\fP din BSD \fBtset\fP scrisă de Eric Allman. .bP SVr4 (1989) a adăugat inițializarea culorilor prin utilizarea capacităților \fB\%orig_colors\fP (\fBoc\fP) și \fB\%orig_pair\fP (\fBop\fP) în logica sa \fBinit\fP. .PP Keith Bostic a refactorizat \fBtput\fP BSD pentru livrarea în 4.3BSD\-Tahoe (1988), apoi l\-a înlocuit în anul următor cu o nouă implementare bazată pe \fBtput\fP System\ V. Versiunea lui Bostic a acceptat în mod similar unii parametri numiți pentru (pseudo\-)capacitățile \fI\%term\%info\fP: \fBclear\fP, \fBinit\fP, \fB\%longname\fP și \fB\%reset\fP. Cu toate acestea, deoarece el avea la dispoziție doar \fItermcap\fP, a acceptat coduri \fItermcap\fP pentru alte capacități. De asemenea, \fBtput\fP BSD al lui Bostic nu modifica modurile terminalului așa cum făcuse \fBtset\fP BSD anterior. .PP În același timp, Bostic a adăugat un script shell numit„clear” care folosea \fBtput\fP pentru a șterge ecranul. Ambele au apărut în 4.4BSD, devenind implementarea BSD „modernă” a lui \fBtput\fP. .PP Originea programului \fI\%ncurses\fP \fB\%tput\fP se află în afara System\ V și BSD, în pachetul \fI\%mytinfo\fP al lui Ross Ridge, publicat pe \fIcomp.sources.unix\fP în decembrie 1992. Programul lui Ridge a făcut o utilizare mai sofisticată a capacităților terminalului decât programul BSD. Eric Raymond a folosit acel program \fBtput\fP (și alte părți din \fI\%mytinfo\fP) în \fI\%ncurses\fP în iunie 1995. Încorporând porțiunile referitoare la capacitățile terminalului aproape fără modificări, Raymond a adus îmbunătățiri modului în care erau gestionați parametrii liniei de comandă. .PP Înainte de \fI\%ncurses\fP 6.1 (2018), utilitățile sale \fB\%tset\fP și \fB\%tput\fP erau diferite. .bP \fB\%tset\fP a fost mai eficient, reinițializând modurile terminalului și caracterele speciale. .bP Pe de altă parte, repertoriul \fB\%tset\fP de capacități ale terminalului pentru reinițializarea terminalului a fost mai limitat; a avut doar echivalenți ai \fB\%reset_1string\fP (\fBrs1\fP), \fB\%reset_2string\fP (\fBrs2\fP) și \fB\%reset_file\fP (\fBrf\fP), și nu caracteristicile de oprire a tabulării și actualizare a marginilor ale \fB\%tput\fP. .PP Programul \fB\%reset\fP este în mod tradițional un alias pentru \fB\%tset\fP datorită capacității sale de a reinițializa modurile terminalului și caracterele speciale. .PP Începând cu \fI\%ncurses\fP 6.1, caracteristicile «reset» ale celor două programe sunt (în mare parte) aceleași. Rămân două diferențe minore. .bP Programul \fB\%tset\fP așteaptă o secundă la reinițializare, în cazul în care terminalul se întâmplă să fie un dispozitiv hardware. .bP Cele două programe scriu șirurile de inițializare a terminalului în fluxuri diferite; adică, ieșirea de eroare standard pentru \fB\%tset\fP și ieșirea standard pentru \fB\%tput\fP. .SH EXEMPLE .TP \fBtput init\fP Inițializează terminalul în funcție de tipul de terminal din variabila de mediu \fITERM\fP. Dacă sistemul nu inițializează în mod fiabil terminalul la autentificare, această comandă poate fi inclusă în \fI\%$HOME/.profile\fP după exportarea variabilei de mediu \fITERM\fP. .TP \fBtput \-T5620 reset\fP Reinițializează un terminal AT&T 5620, suprascriind tipul de terminal din variabila de mediu \fITERM\fP. .TP \fBtput cnorm\fP Stabilește cursorul la vizibilitate normală. .TP \fBtput home\fP Mută cursorul pe rândul 0, coloana 0: colțul din stânga sus al ecranului, cunoscut de obicei ca poziția cursorului „home” (inițială). .TP \fBtput clear\fP Șterge ecranul: scrie valoarea capacității \fB\%clear_screen\fP în fluxul de ieșire standard. .TP \fBtput cols\fP Raportează numărul de coloane utilizate de tipul de terminal curent. .TP \fBtput \-Tadm3a cols\fP Raportați numărul de coloane utilizate de un terminal ADM\-3A. .TP \fBstrong=\(gatput smso\(ga normal=\(gatput rmso\(ga\fP Stabilește variabilele shell la valori de capacitate: \fBstrong\fP and \fBnormal\fP, pentru început și sfârșit, respectiv, modul de evidențiere pentru terminal. Acestea pot fi utilizate pentru a prezenta un prompt. .IP .EX .RS 14 printf "${strong}Nume\-utilizator:${normal} " .RE .EE .TP \fBtput hc\fP Indică, prin intermediul stării de ieșire, dacă terminalul este un dispozitiv de tip „hard copy” (care imprimă informația pe hârtie). .TP \fBtput cup 23 4\fP Mută cursorul la rândul 23, coloana 4. .TP \fBtput cup\fP Raportează valoarea capacității \fB\%cursor_address\fP (\fBcup\fP) (utilizată pentru deplasarea cursorului), fără înlocuirea parametrilor. .TP \fBtput longname\fP Raportează descrierea din baza de date \fI\%term\%info\fP a tipului de terminal specificat în variabila de mediu \fITERM\fP. .TP \fBtput \-S\fP Procesarea capacităților multiple Opțiunea \fB\-S\fP poate fi utilizată în mod profitabil cu un shell pentru a indica „here document” (aici document în română, ce indică terminalului că șirurile care urmează este un text, nu șiruri de caractere speciale). .IP .EX $\ \fBtput \-S <\ \fBclear\fP >\ \fBcup 10 10\fP >\ \fBbold\fP >\ \fB!\fP .EE .IP Aceasta șterge ecranul, mută cursorul în poziția (10, 10) și activează modul îngroșat (foarte luminos). .TP \fBtput clear cup 10 10 bold\fP Efectuează aceleași acțiuni ca în exemplul precedent «\fBtput \-S\fP». .SH "CONSULTAȚI ȘI" \fB\%clear\fP(1), \fB\%stty\fP(1), \fB\%tabs\fP(1), \fB\%tset\fP(1), \fB\%curs_termcap\fP(3X), \fB\%terminfo\fP(5) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .