Vreemd, bij mij lopen de seconden en gaan na de 60 weer naar de 0, zonder dat het minuutveld wordt opgehoogd.
Een script dat erg op het jouwe lijkt, doet het wel goed (ook op internet gevonden).
#!/bin/bash
BEGIN=$(date +%s)
BACK="\b\b\b\b"
echo Starting Stopwatch...
while true; do
NOW=$(date +%s)
let DIFF=$(($NOW - $BEGIN))
let MINS=$(($DIFF / 60))
let SECS=$(($DIFF % 60))
#only echo count if its different than the last time
if [ "$DIFF" != "$OLDDIFF" ]
then
#backspace 4 times to reset stopwatch position
#The '-e' enables \b to be interpreted correctly
#The '-n' avoids the newline character at the end
echo -ne $BACK
echo -ne $MINS:`printf %02d $SECS`
fi
#define olddiff to current diff
let OLDDIFF=DIFF
done