Portál AbcLinuxu, 19. května 2025 10:39

Dotaz: Objasnení řetězce v BASH

5.6.2012 02:15 Host
Objasnení řetězce v BASH
Přečteno: 385×
Odpovědět | Admin
Ahoj, může mi prosím tohle někdo objasnit? Vyrváří se mi v adresáři dev spousta souboru ttyxy
2>&1 >/dev/tty
Děkuji
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Jendа avatar 5.6.2012 03:30 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Objasnení řetězce v BASH
Odpovědět | | Sbalit | Link | Blokovat | Admin
Uvedený příkaz přesměruje chybový výstup do standardního výstupu a celé to zapíše do /dev/tty; pokud /dev/tty neexistuje, vytvoří se jako obyčejný soubor.

ttyxy s tímto nemá nic společného, jinak na Linuxu (a mnoha UNIXech obecně) označují tty* terminály.
7.6.2012 10:50 nikdo
Rozbalit Rozbalit vše Re: Objasnení řetězce v BASH
Odpovědět | | Sbalit | Link | Blokovat | Admin
Doplnil bych, že příkaz sám o sobě nedává moc smysl. Do /dev/tty se nic nezapíše. Pouze, pokud by náhodou neexistoval a měl jste práva pro zápis do /dev (což typicky nemáte), tak by vytvořil obyčejný soubor /dev/tty

Smysl by to (skoro) dávalo na konci nějakého příkazu, např:

date 2>&1 >/dev/tty

Význam by to mělo (chtělo mít) asi "vypiš datum na terminál /dev/tty, pokud vznikne chyba, zapiš ji tam taky".

Jenže by to nefungovalo, jak by asi původní autor předpokládal. Muselo by se to zapsat takto

date >/dev/tty 2>&1

Na pořadí přesměrování výstupu totiž záleží.

Potom například příkaz

date -XXX >/dev/tty 2>&1

Způsobí, že se do terminálu /dev/tty zapíše text:

date: neplatný přepínač – „X“ Více informací získáte příkazem „date --help“.

Jinak s /dev/ttyxy to opravdu nemá nic společného

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.