Portál AbcLinuxu, 15. července 2025 22:57
while read radek; do
echo "Zpracovat?;
read radek2;
if ....;
volani funkce taky s read line;
done < soubor
Pro načtení ručně zadané hodnoty se read uvnitř nevykoná. Chtěl bych použít read ještě v dalších funkcích, ale samozřejmě ani tam nefunguje.
Jak to řešíte, prosím?
Řešení dotazu:
soubor
.
Chceš-li číst pomocí read pomíchaně z různých zdrojů, bude zapotřebí použít různé filedeskriptory. Demonstrace principu:
exec 5<soubor read -u 5 line1 read -p "enter value>" value read -u 5 line2 echo "line1 = $line1" echo "line2 = $line2" echo "value = $value
while read radek; do echo "Zpracovat?; read radek2; Rucně zadaná hodnota if [ "$radek2" = "a" ]; then ... fi volani funkce taky s read line; done < souborDíky, ale přiznám se, uniká mi smysl odpovědi. Načítat chci jen jeden soubor. Ručně zadaných hodnot potřebuji více.
read radek
má číst ze souboru a
read radek2
z terminálu. Ale když přesměruješ celé while ... done
ze souboru, tak všechny read
uvnitř čtou z toho souboru.
read -u 5 ...
vracia stale dalsi a dalsi riadok zo "souboru". Kdezto opakovane volany read a <soubor
vracia stale 1. riadok, co vacsinou nebyva to co ludia bezne chcu.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.