Este é um script em Shell que simula um cronômetro simples.
O código mostrado aqui é outra tentativa de aprendizado em Shell Linux. Na prática pode não ter utilidade nenhuma, dada sua simplicidade. Mas me ajudou a praticar novos conhecimentos.
Talvez sirva de ajuda pra alguém que também esteja estudando linguagem de terminal.
Código fonte no Pastebin: Clique AQUI
Abaixo o código original. Lembrando que ele pode ser melhor visualizado no Pastebin.
1. #!/bin/bash
2. # Cronometro simples feito em Shell.
3. # Script criado apenas para fins de estudo.
4. # Para parar, use um [ctrl] + C.
5. # Autor: Fabio Lima CE
6. # Data: 2009-02-14
7.
8. # Inicializacao das variaveis
9. SS=0;
10. MM=0;
11. HH=0;
12.
13. # Inicio do 'loop infinito' que atualizara
14. # as variaveis a cada segundo.
15. # A condicao 'sleep 1' se encarrega de gerar
16. # atrasos de um segundo a cada passagem.
17. while (sleep 1)
18. do
19. # Testa a quantidade de segundos
20. # Se SS > 59 entao MM++
21. if ( test $SS -gt 59)
22. then
23. SS=0
24. MM=$(echo "$MM + 1" | bc)
25. fi
26.
27. # Testa a quantidade de minutos
28. # Se MM > 59 entao HH++
29. if (test $MM -gt 59)
30. then
31. MM=0
32. HH=$(echo "$HH + 1" | bc)
33. fi
34.
35. # Testa a quantidade de horas
36. # Se HH > 23 entao Zera todas variaveis
37. if (test $HH -gt 23)
38. then
39. MM=0
40. HH=0
41. HH=0
42. fi
43.
44. # Mostra o tempo decorrido depois de atualizado
45. # Opcoes do 'echo':
46. # -n: desabilitar nova linha no final do comando (\n)
47. # -e: habilitar o uso de caracteres de scape (\t, \n, \a \r etc)
48. echo -n -e "\rTempo decorrido: $HH h $MM min $SS seg "
49.
50. # Acrescenta um segundo
51. # O 'bc' eh uma realiza calculos com inteiros
52. SS=$(echo "$SS + 1" | bc)
53.
54. done