'\" t .\" Title: script .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.23 .\" Date: 2025-03-29 .\" Manual: Comenzi utilizator .\" Source: util-linux 2.41 .\" Language: English .\" .TH "SCRIPT" "1" "2025-03-29" "util\-linux 2.41" "Comenzi utilizator" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "NUME" script \- face o transcriere a sesiunii de terminal .SH "REZUMAT" .sp \fBscript\fP [opțiuni] [\fIfișier\fP] .SH "DESCRIERE" .sp \fBscript\fP face o transcriere a tot ceea ce se află în sesiunea de terminal. Datele terminalului sunt stocate în formă brută în fișierul jurnal, iar informațiile despre sincronizare(datele de timp) într\-un alt fișier jurnal structurat (opțional). Fișierul jurnal de cronometrare este necesar pentru a reda sesiunea ulterior prin \fBscriptreplay\fP(1) și pentru a stoca informații suplimentare despre sesiune. .sp Începând cu versiunea 2.35, \fBscript\fP suportă fluxuri multiple și permite înregistrarea intrărilor și ieșirilor în fișiere separate sau într\-un singur fișier. Această versiune acceptă, de asemenea, un nou fișier de sincronizare care înregistrează informații suplimentare. Comanda \fBscriptreplay \-\-summary\fP oferă apoi toate informațiile. .sp Dacă este dat argumentul \fIfișier\fP sau opțiunea \fB\-\-log\-out\fP \fIfișier\fP, \fBscript\fP salvează dialogul în acest \fIfișier\fP. Dacă nu se dă un nume de fișier, dialogul este salvat în fișierul \fItypescript\fP. .sp Rețineți că înregistrarea datelor de intrare în jurnal utilizând \fB\-\-log\-in\fP sau \fB\-\-log\-io\fP poate înregistra informații sensibile din punct de vedere al securității, deoarece fișierul jurnal conține toate datele de intrare în sesiunea terminalului (de exemplu, parolele), indiferent de valoarea fanionului \fBECHO\fP al terminalului. .SH "OPȚIUNI" .sp Mai jos, argumentul \fIdimensiune\fP poate fi urmat de sufixele multiplicative KiB (=1024), MiB (=1024*1024), și așa mai departe pentru GiB, TiB, PiB, EiB, ZiB și YiB („iB” este opțional, de exemplu, „K” are aceeași semnificație ca și „KiB”), sau sufixele KB (=1000), MB (=1000*1000) și așa mai departe pentru GB, TB, PB, EB, ZB și YB. .sp \fB\-a\fP, \fB\-\-append\fP .RS 4 Adaugă rezultatul la \fIfișier\fP sau la \fItranscriere\fP, păstrând conținutul anterior. .RE .sp \fB\-c\fP, \fB\-\-command\fP \fIcomanda\fP .RS 4 Rulează \fIcomanda\fP mai degrabă decât un shell interactiv. Acest lucru facilitează capturarea de către un script a ieșirii unui program care se comportă diferit atunci când ieșirea standard a acestuia nu este un terminal tty. .RE .sp \fB\-E\fP, \fB\-\-echo\fP \fIcând\fP .RS 4 Această opțiune controlează fanionul \fBECHO\fP pentru capătul sclav al pseudo\-terminalului sesiunii. Modurile acceptate sunt \fIalways\fP (întotdeauna), \fInever\fP (niciodată) sau \fIauto\fP. .sp Valoarea implicită este \fIauto\fP \- în acest caz, \fBECHO\fP este activat pentru pseudo\-terminalul sclav; dacă intrarea standard curentă este un terminal, \fBECHO\fP este dezactivat pentru acesta pentru a preveni „ecoul” dublu; dacă intrarea standard curentă nu este un terminal (de exemplu conductă: \fBecho date | script\fP), atunci menținerea activării \fBECHO\fP pentru pseudo\-terminalul sclav permite vizualizarea pe ecran a datelor de intrare standard și înregistrarea simultană în jurnalul sesiunii. .sp Rețineți că modul „never” (niciodată) afectează conținutul jurnalului de ieșire al sesiunii, deoarece datele introduse de utilizatori nu se repetă la ieșire. .RE .sp \fB\-e\fP, \fB\-\-return\fP .RS 4 Returnează starea de ieșire a procesului\-copil. Folosește același format ca și terminarea bash la primirea semnalului de terminare (adică, starea de ieșire este 128 + numărul semnalului). Starea de ieșire a procesului\-copil este întotdeauna stocată și în fișierul de transcriere (typescript). .RE .sp \fB\-f\fP, \fB\-\-flush\fP .RS 4 Curăță ieșirea după fiecare scriere. Acest lucru este util pentru telecooperare: o persoană face \fBmkfifo\fP \fIfoo\fP; \fBscript \-f\fP \fIfoo\fP, iar alta poate supraveghea în timp real ce se face folosind \fBcat\fP \fIfoo\fP. Rețineți că „\-flush” (curățarea/golirea) are un impact asupra performanțelor; este posibil să se utilizeze \fBSIGUSR1\fP pentru a curăța/goli jurnalele la cerere. .RE .sp \fB\-\-force\fP .RS 4 Permite ca fișierul de ieșire implicit \fItranscrierea\fP (typescript) să fie o legătură dură sau simbolică. Comanda va urma o legătură simbolică. .RE .sp \fB\-B\fP, \fB\-\-log\-io\fP \fIfișier\fP .RS 4 Înregistrează datele de intrare și de ieșire în același fișier. Rețineți că această opțiune are sens numai dacă este specificat și \fB\-\-log\-timing\fP, altfel este imposibil să se separe fluxurile de ieșire și de intrare din \fIfișierul\fP de jurnal. .RE .sp \fB\-I\fP, \fB\-\-log\-in\fP \fIfișier\fP .RS 4 Înregistrează datele de intrare în \fIfișier\fP. Ieșirea de jurnal este dezactivată dacă se specifică doar \fB\-\-log\-in\fP. .sp Folosiți cu atenție această funcționalitate de înregistrare, deoarece înregistrează toate intrările, inclusiv intrările în cazul în care terminalul a dezactivat fanionul \fBECHO\fP (de exemplu, intrările de parole). .RE .sp \fB\-O\fP, \fB\-\-log\-out\fP \fIfișier\fP .RS 4 Înregistrează ieșirea în \fIfișier\fP. Valoarea implicită este de a înregistra ieșirea în fișierul cu numele \fItypescript\fP dacă nu se dă opțiunea \fB\-\-log\-out\fP sau \fB\-\-log\-in\fP. Ieșirea jurnalului este dezactivată dacă se specifică doar \fB\-\-log\-in\fP. .RE .sp \fB\-T\fP, \fB\-\-log\-timing\fP \fIfișier\fP .RS 4 Înregistrează informațiile de sincronizare (de timp) în fișierul \fIfișier\fP. Acum sunt acceptate două formate de fișiere de cronometrare. Formatul clasic este utilizat atunci când este activată înregistrarea unui singur flux (intrare sau ieșire). Formatul multi\-flux este utilizat la \fB\-\-log\-io\fP sau atunci când \fB\-\-log\-in\fP și \fB\-\-log\-out\fP sunt utilizate împreună. A se vedea, de asemenea, \fB\-\-logging\-format\fP. .RE .sp \fB\-m\fP, \fB\-\-logging\-format\fP \fIformat\fP .RS 4 Forțează utilizarea formatului de jurnal de cronometrare \fIavansat\fP sau \fIclasic\fP. În mod implicit, se folosește formatul clasic pentru a înregistra numai ieșirile și formatul avansat atunci când se solicită înregistrarea atât a intrărilor, cât și a ieșirilor. .sp \fBFormatul clasic\fP .RS 4 Jurnalul de cronometrare conține două câmpuri, separate prin câte un spațiu. Primul câmp indică cât timp a trecut de la ieșirea anterioară. Al doilea câmp indică numărul de caractere care au fost emise de această dată. .RE .sp *Formatul avansat (multi\-flux) .RS 4 Primul câmp este un identificator al tipului de intrare („I\(cqnput” (intrarea), „O\(cqutput” (ieșirea), „H\(cqeader” (antetul, titlul), „S\(cqignal” (semnal)). Al doilea câmp reprezintă timpul care a trecut de la intrarea anterioară, iar restul câmpului este format din date specifice tipului de intrare. .RE .RE .sp \fB\-o\fP, \fB\-\-output\-limit\fP \fIdimensiunea\fP .RS 4 Limitează dimensiunea fișierelor de transcriere(typescript) și de sincronizare la \fIdimensiunea\fP și oprește procesul\-copil după ce această dimensiune este depășită. Dimensiunea calculată a fișierului nu include mesajele de start și de sfârșit pe care comanda \fBscript\fP le preia și le adaugă la ieșirea procesului\-copil. Din cauza utilizării memoriei tampon, este posibil ca fișierul de ieșire rezultat să fie mai mare decât valoarea specificată. .RE .sp \fB\-q\fP, \fB\-\-quiet\fP .RS 4 Stă liniștit (nu scrie mesajele de început și sfârșit la ieșirea standard). .RE .sp \fB\-t\fP[\fIfișier\fP], \fB\-\-timing\fP[\fB=\fP\fIfișier\fP] .RS 4 Emite datele de sincronizare către ieșirea de eroare standard sau către \fIfișier\fP, dacă este cazul. Această opțiune este depășită în favoarea \fB\-\-log\-timing\fP, unde argumentul \fIfișier\fP nu este opțional. .RE .sp \fB\-h\fP, \fB\-\-help\fP .RS 4 Afișează acest mesaj de ajutor și iese. .RE .sp \fB\-V\fP, \fB\-\-version\fP .RS 4 Afișează versiunea și iese. .RE .SH "SEMNALE" .sp La primirea semnalului \fBSIGUSR1\fP, \fBscript\fP golește imediat fișierele de ieșire. .SH "MEDIU" .sp Următoarea variabilă de mediu este utilizată de \fBscript\fP: .sp \fBSHELL\fP .RS 4 Dacă variabila \fBSHELL\fP există, shell\-ul bifurcat de \fBscript\fP va fi acel shell. Dacă variabila \fBSHELL\fP nu este definită, se va folosi shell\-ul Bourne. (Majoritatea shell\-urilor definesc automat această variabilă). .RE .SH "NOTE" .sp Scriptul se termină atunci când shell\-ul bifurcat iese (un \fIcontrol\-D\fP pentru shell\-ul Bourne (\fBsh\fP(1p)), și \fIexit\fP, \fIlogout\fP sau \fIcontrol\-d\fP (dacă \fIignoreeof\fP nu este activat) pentru C\-shell, \fBcsh\fP(1)). .sp Anumite comenzi interactive, cum ar fi \fBvi\fP(1), generează deșeuri în fișierul de transcriere(typescript). \fBscript\fP funcționează cel mai bine cu comenzi care nu manipulează ecranul, rezultatele sunt menite să emuleze o copie exactă a unui terminal. .sp Nu se recomandă rularea de \fBscript\fP în shell\-uri non\-interactive. Shell\-ul interior al \fBscript\fP este întotdeauna interactiv, ceea ce ar putea duce la rezultate neașteptate. Dacă utilizați \fBscript\fP în fișierul de inițializare a shell\-ului, trebuie să evitați intrarea într\-o buclă infinită. Puteți utiliza, de exemplu, fișierul \fB.profile\fP, care este citit numai de shell\-urile de autentificare: .sp .if n .RS 4 .nf .fam C if test \-t 0 ; then script exit fi .fam .fi .if n .RE .sp De asemenea, ar trebui să evitați utilizarea lui \fBscript\fP în conductele de comandă, deoarece \fBscript\fP poate citi mai multe date de intrare decât v\-ați aștepta. .SH "ISTORIC" .sp Comanda \fBscript\fP a apărut în 3.0BSD. .SH "ERORI" .sp \fBscript\fP plasează \fItotul\fP în fișierul jurnal, inclusiv salturile de linie și spațiile înapoi.. Nu este ceea ce se așteaptă un utilizator naiv. .sp \fBscript\fP este conceput în primul rând pentru sesiuni interactive de terminal. Atunci când intrarea standard nu este un terminal (de exemplu: \fBecho foo | script\fP), atunci sesiunea se poate bloca, deoarece shell\-ului interactiv din cadrul sesiunii de script îi lipsește EOF, iar \fBscript\fP nu știe când să închidă sesiunea. Pentru mai multe informații, consultați secțiunea \fBNOTE\fP. .SH "CONSULTAȚI ȘI" .sp \fBcsh\fP(1) (pentru mecanismul \fIistoric\fP), \fBscriptreplay\fP(1), \fBscriptlive\fP(1) .SH "RAPORTAREA ERORILOR" .sp Pentru rapoarte de eroare, folosiți \c .URL "https://github.com/util\-linux/util\-linux/issues" "sistemul de urmărire al erorilor" "." .SH "DISPONIBILITATE" .sp Comanda \fBscript\fP face parte din pachetul util\-linux care poate fi descărcat de la \c .URL "https://www.kernel.org/pub/linux/utils/util\-linux/" "Linux Kernel Archive" "."