Allow inline countdown.

This commit is contained in:
2026-03-02 15:55:53 +01:00
parent 044850c200
commit c9d04788a7

View File

@@ -24,27 +24,46 @@
set -euo pipefail set -euo pipefail
if [ $# -gt 1 ] INLINE=0
COUNT=5
if [ $# -ge 1 ] && [ $# -le 2 ]
then then
echo "Too many arguments" for arg in "$@"
echo "Usage: $0 [COUNT]" do
exit 1 if [ "$arg" = "-i" ]
elif [ $# -eq 1 ] && [ "$1" = "-h" ]
then then
echo "Usage: $0 [COUNT]" INLINE=1
elif [ "$arg" = "-h" ] || [ "$arg" = "--help" ]
then
echo "Usage: $0 [-i] [COUNT]"
echo " COUNT: Number of seconds to count down from (default: 5)"
echo " -i: Inline mode (do not print each number on a new line)"
exit 0 exit 0
elif [ $# -eq 1 ] && [ "$1" -le 0 ] elif [[ "$arg" =~ [0-9]+ ]]
then then
echo "COUNT must be a positive integer" COUNT="$arg"
else
echo "Unknown argument: $arg"
exit 1 exit 1
fi fi
done
COUNT=${1:-5} fi
for i in $(seq "$COUNT" -1 1) for i in $(seq "$COUNT" -1 1)
do do
if [ $INLINE -eq 0 ]
then
echo "$i" echo "$i"
else
printf "\r%s" "$i"
fi
sleep 1 sleep 1
done done
echo 0 if [ $INLINE -eq 0 ]
then
echo "0"
else
printf "\r%s\n" "0"
fi