Portál AbcLinuxu, 10. května 2025 19:53
Řešení dotazu:
Při použití while. Stačí aby se nikdy nesplnila podmínka.
Naopak, je potřeba, aby byla pořád splněná. V Bourne shellu to vypadá např. takto
while true; do ... usleep 500000 done
while [ 1 -eq 1 ]; do
stav=$(cat /dev/cidlo)
if [ "$stav" = "1" ];
then echo Cidlo je sepnute; sleep 0.5s;
else echo Cidlo je rozepnute; sleep 0.5s;
fi;
done
sleep
provádíte v obou větvích, takže je praktičtější dát ho až za podmíněný příkaz.
#!/bin/bash konec="15" casovka="0.12" echo "Script skonci az bude vterinovka hodin ukazovat $konec , sleep je nastaven na $casovka" echo echo "Counter Datum Cas" echo "-----------------------------" while true; do sleep $casovka pocitadlo=$[$pocitadlo + 1] aktcas=$(date "+%d.%m %Y %H:%M:%S") cas=$(date "+%S") if [ "$cas" = "00" ]; then break else echo -en "$pocitadlo\t $aktcas \r" fi done echo
Něco takového ?
Oprava #!/bin/bash konec="15" casovka="0.12" echo "Script skonci az bude vterinovka hodin ukazovat $konec , sleep je nastaven na $casovka" echo echo "Counter Datum Cas" echo "-----------------------------" while true; do sleep $casovka pocitadlo=$[$pocitadlo + 1] aktcas=$(date "+%d.%m %Y %H:%M:%S") cas=$(date "+%S") if [ "$cas" = "$konec" ]; then break else echo -en "$pocitadlo\t $aktcas \r" fi done echo
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.