[linux] bash programovanie - timeout a defaultna odpoved
Ing. Jan ONDREJ
jan.ondrej na upjs.sk
Sobota Prosinec 10 08:41:32 CET 2005
On Sat, Dec 10, 2005 at 12:45:28AM +0100, Jan Kunder wrote:
>
> Ahoj.
> 1)
> Hoci som sa snazil, nedokazal som vygooglit, ako dosiahnut toto:
> bash-script (z brucha):
> echo "Question: Saving private Ryan? Y/N"
> if Y then save
> if N then goto end :) else echo "Ty blb vyber si Y alebo N"
>
> Problem: Ak user neodpovie do 10 sekund urob Y.
> Ak user odpovie cokolvek ine "nepusti ho dalej", kym nezmackne Y/N al.
> neprejde cas X
#!/bin/bash
echo "Question: Saving private Ryan? Y/N"
while true; do
read -t 10 q
if [ "$q" = "Y" ]; then
echo "Saving Ryan ..."
break
elif [ "$q" = "N" ]; then
break
fi
echo "Ty blb vyber si Y alebo N"
done
# velmi skaredo sa tu miesa slovencina a anglictina, ale snazil som
# sa plne vyhoviet poziadavke, takze som pouzil originalne texty. :)
> 2)
> nieco ako prikazy pause / break z DOSu, proste PRESS ANY KEY TO CONTINUE
echo "PRESS ANY KEY TO CONTINUE"
read -n 1 -s
> 2B) Existuje nejaka ina finta na "debugovanie" bash-scriptu, ako vkladat
> tam nejake break-y ?
Pustaj ho cez "sh -x skript" alebo pridaj niekde do kodu:
set -x
Vypnutie debug:
set +x
SAL
Další informace o konferenci linux