Tee

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 15. december 2018; checks kræver 4 redigeringer .

tee  er en kommando , der viser eller omdirigerer kommandoens output og kopierer den til en fil eller variabel. Primært bruges kommandoen sammen med omdirigeringer og filtre . Anvendes i en række forskellige styresystemskaller såsom Unix-skaller , 4DOS / 4NT og Windows PowerShell .

Formål og syntaks

tee bruges til at adskille programoutput, så dataene kan bruges til visning og gemmes i en fil. Kommandoen kan også bruges til at hente mellemliggende data, før den ændres af et andet program eller kommando. Tee-kommandoen læser standard input (stdin) , skriver det derefter til standard output (stdout) og kopierer det samtidig til en forberedt fil eller variabel. Syntaksen varierer alt efter, hvor kommandoen bruges.

UNIX

tee [-a] [-i] [Fil ...]

Variabler:

Flag:

Når du er færdig, returnerer kommandoen følgende afslutningsstatusværdier :

Bemærk: Hvis skrivning til en vellykket åbnet fil mislykkes, skrives dataene til den næste succesfulde åbnede fil, operanden og standardoutput (stdout) , men exitstatus er >0.

Eksempler

UNIX

lint program.c | tee program.lint

Denne kommando vil vise kommandoens standard output lint program.cpå outputmediet, samtidig med at den gemmer outputtet til en program.lint. Hvis en sådan fil allerede findes, vil den blive overskrevet.

lint program.c | tee -et program.lint

Som i det foregående eksempel vil data fra kommandoen blive vist på skærmen lint program.c, hvorefter disse data vil blive tilføjet til slutningen af ​​filen program.lint. Hvis en sådan fil ikke findes, vil den blive oprettet.

ekko "Body of file..." | sudo tee root_owned_file > /dev/null

Dette eksempel viser, hvordan man bruger tee til at omgå begrænsningerne af sudo-kommandoen , som forhindrer den i at omdirigere output ( stdout ) til en fil. Og yderligere omdirigering til /dev/nullvil undgå tekstoutput til konsollen.

ls ./qwerty 2>&1 | tee ls.log

Som standard skriver tee-kommandoen kun data fra STDOUT til filen, så hvis filen "qwerty" ikke er i den aktuelle mappe, vil ls.log-filen vise de tilstedeværende filer og mapper og vil ikke optage en fil, der ikke er fundet. Udgangene fra både STDOUT og STDERR vil blive vist på skærmen. Hvis filen også skal indeholde data fra STDERR, så er det nødvendigt, som i eksemplet ovenfor, at omdirigere STDERR til STDOUT.