sleep should not be locale sensitive
the ksh93-ized sleep tries to support fractions of a second, unfortunately it is locale sensitive (and probably incorrectly locale sensitive, too).
/bin/sleep 1.5 # sleeps for 1.5 seconds LC_NUMERIC=de_DE.UTF-8 /bin/sleep 1.5 # sleeps for 1.5 seconds LC_ALL=de_DE.UTF-8 /bin/sleep 1.5 # sleeps for 15 seconds LC_ALL=de_DE.UTF-8 /bin/sleep 1,5 # sleeps for 1.5 seconds
It should probably not be locale sensitive. If it is going to be locale sensitive, it should probably be nice about LC_NUMERIC, rather than whatever it is doing instead.
Updated by Garrett D'Amore over 10 years ago
Why shouldn't it be locale sensitive? I think it should respect the locale. If you want your script to work properly, put it into the C locale. (Of course people who expect fractional second sleeps in scripts are already probably locked into ksh93 and familiar with its warts.)
Updated by Rich Lowe over 10 years ago
In answer to both points: fractional-sleep is available on most other platforms (FreeBSD seems to do it, OSX does do it, GNU does it). None of them respect the locale separator while doing it.
Try with /usr/gnu/bin/sleep, and de_DE.UTF-8 for instance.