Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: deathfish 13 Listopadu 2013, 11:52:04
-
Jednoduchý sript, který z textového souboru vytáhne co potřebuji a dále se plní podmínky, potřebuji zastavit když dojde k problému - opravím co potřebuji -a pokračovat stiskem enter. Viz příklad níže. Jenže se tam hádají příkazy "read" Jak na to?
#!/bin/bash
grep 'a' /home/semafor.txt | while read radek; do
echo "$radek"
if [ "$radek" == "zelena" ]; then
echo zelena muzes jet
sleep 1
if [ "$radek" == "zelena" ]; then
echo zvedam zavory
sleep 2
fi
elif [ "$radek" == "cervena" ]; then
echo stuj
sleep 1
if [ "$radek" == "cervena" ]; then
echo spoustim zavory
sleep 2
fi
else
echo necekane potize
read #zde by se mi libilo pozastaveni scriptu
sleep 2
fi
done
-
Celá smyčka while za rourou beží v subshellu, který má vstup přesměrovaný na výstup grepu, takže každý další read ve smyčce bude číst odtud další řádek. Pokud budeš chtít číst z klávesnice, musíš ten vstup zase přesměrovat na terminál, například takto:
read </dev/tty
-
Jede to parádně, děkuji.
VYŘEŠENO