Portál AbcLinuxu, 12. května 2025 06:58

Dotaz: Objasnění zápisu v shelu

20.7.2014 12:52 Lama
Objasnění zápisu v shelu
Přečteno: 273×
Odpovědět | Admin
Ahoj. Narazil jsem na tento zápis a netuším proč to autor tak napsal
read VAR < /dev/tty
proč nenapsal jen
read VAR
Může mi to někdo prosím objasnit ?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

20.7.2014 14:43 DarkKnight | skóre: 26
Rozbalit Rozbalit vše Re: Objasnění zápisu v shelu
Odpovědět | | Sbalit | Link | Blokovat | Admin
read precte radek do promenne ze standardniho vstupu (stdin), ten prvni prikaz znamena, ze do promenne VAR se nacte radek z /dev/tty (rika se tomu presmerovani), druhy prikaz znamena, ze bude cekat, az nekdo napise nejaky text a odentruje to

doporucil bych treba http://www.catonmat.net/download/bash-redirections-cheat-sheet.pdf pro zacatek
20.7.2014 14:54 DarkKnight | skóre: 26
Rozbalit Rozbalit vše Re: Objasnění zápisu v shelu
jinak k tomu /dev/tty, stdin nemusi byt aktualni terminal, muzes tedy nastavit, at script cte prave z aktualniho terminalu
20.7.2014 17:24 JS
Rozbalit Rozbalit vše Re: Objasnění zápisu v shelu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Prečo to autor tak napísal, závisí od kontextu.

Príklad: bez daného presmerovania by druhý read namiesto vstupu od uživateľa načítal ako odpoveď názov ďalšieho súboru, ktorý do rúry poslal ls.
ls | while read f; do
    echo "Process file $f ? [y/N]"
    read a < /dev/tty
    if [ "$a" = "y" ]; then
        echo "    File $f processed"
    fi
done

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.