tee je příkaz , který zobrazí nebo přesměruje výstup příkazu a zkopíruje jej do souboru nebo proměnné. Primárně se příkaz používá ve spojení s přesměrováním a filtry . Používá se v různých shellech operačních systémů, jako jsou unixové shelly , 4DOS / 4NT a Windows PowerShell .
tee se používá k oddělení výstupu programu, takže data lze použít pro zobrazení a uložit do souboru. Příkaz lze také použít k získání mezilehlých dat předtím, než je změní jiný program nebo příkaz. Příkaz tee načte standardní vstup (stdin) , poté jej zapíše na standardní výstup (stdout) a současně zkopíruje do připraveného souboru nebo proměnné. Syntaxe se liší podle toho, kde je příkaz použit.
Proměnné:
Příznaky:
Po dokončení příkaz vrátí následující hodnoty stavu ukončení :
Poznámka: Pokud selže zápis do libovolného úspěšně otevřeného souboru, data se zapíší do dalšího úspěšně otevřeného souboru, operandu a standardního výstupu (stdout) , ale stav ukončení je >0.
Tento příkaz zobrazí standardní výstup příkazu lint program.cna výstupní médium a zároveň uloží výstup do souboru program.lint. Pokud takový soubor již existuje, bude přepsán.
Stejně jako v předchozím příkladu se data z příkazu zobrazí na obrazovce lint program.ca poté se tato data připojí na konec souboru program.lint. Pokud takový soubor neexistuje, bude vytvořen.
Tento příklad ukazuje, jak pomocí tee obejít omezení příkazu sudo , který mu brání přesměrovat výstup ( stdout ) do souboru. A další přesměrování na /dev/nullzabrání textovému výstupu do konzole.
Ve výchozím nastavení zapisuje příkaz tee do souboru pouze data ze STDOUT, takže pokud soubor "qwerty" není v aktuálním adresáři, soubor ls.log vypíše seznam přítomných souborů a adresářů a nezaznamená nenalezený soubor. Na obrazovce se zobrazí výstupy STDOUT a STDERR. Pokud soubor potřebuje obsahovat i data ze STDERR, pak je nutné, jako v příkladu výše, přesměrovat STDERR na STDOUT.