2022-03-12 12:23:32 +01:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
# Copyright (C) 2022 Ortega Froysa, Nicolás <nicolas@ortegas.org> All rights reserved.
|
|
|
|
|
# Author: Ortega Froysa, Nicolás <nicolas@ortegas.org>
|
|
|
|
|
#
|
|
|
|
|
# This software is provided 'as-is', without any express or implied
|
|
|
|
|
# warranty. In no event will the authors be held liable for any damages
|
|
|
|
|
# arising from the use of this software.
|
|
|
|
|
#
|
|
|
|
|
# Permission is granted to anyone to use this software for any purpose,
|
|
|
|
|
# including commercial applications, and to alter it and redistribute it
|
|
|
|
|
# freely, subject to the following restrictions:
|
|
|
|
|
#
|
|
|
|
|
# 1. The origin of this software must not be misrepresented; you must not
|
|
|
|
|
# claim that you wrote the original software. If you use this software
|
|
|
|
|
# in a product, an acknowledgment in the product documentation would be
|
|
|
|
|
# appreciated but is not required.
|
|
|
|
|
#
|
|
|
|
|
# 2. Altered source versions must be plainly marked as such, and must not be
|
|
|
|
|
# misrepresented as being the original software.
|
|
|
|
|
#
|
|
|
|
|
# 3. This notice may not be removed or altered from any source
|
|
|
|
|
# distribution.
|
|
|
|
|
|
2026-03-02 15:33:43 +01:00
|
|
|
set -euo pipefail
|
|
|
|
|
|
2026-03-02 15:55:53 +01:00
|
|
|
INLINE=0
|
|
|
|
|
COUNT=5
|
|
|
|
|
|
|
|
|
|
if [ $# -ge 1 ] && [ $# -le 2 ]
|
2026-03-02 15:38:41 +01:00
|
|
|
then
|
2026-03-02 15:55:53 +01:00
|
|
|
for arg in "$@"
|
|
|
|
|
do
|
|
|
|
|
if [ "$arg" = "-i" ]
|
|
|
|
|
then
|
|
|
|
|
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
|
|
|
|
|
elif [[ "$arg" =~ [0-9]+ ]]
|
|
|
|
|
then
|
|
|
|
|
COUNT="$arg"
|
|
|
|
|
else
|
|
|
|
|
echo "Unknown argument: $arg"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
done
|
2022-03-12 12:23:32 +01:00
|
|
|
fi
|
|
|
|
|
|
2026-03-02 15:33:43 +01:00
|
|
|
for i in $(seq "$COUNT" -1 1)
|
2022-03-12 12:23:32 +01:00
|
|
|
do
|
2026-03-02 15:55:53 +01:00
|
|
|
if [ $INLINE -eq 0 ]
|
|
|
|
|
then
|
|
|
|
|
echo "$i"
|
|
|
|
|
else
|
|
|
|
|
printf "\r%s" "$i"
|
|
|
|
|
fi
|
2022-03-12 12:23:32 +01:00
|
|
|
sleep 1
|
|
|
|
|
done
|
|
|
|
|
|
2026-03-02 15:55:53 +01:00
|
|
|
if [ $INLINE -eq 0 ]
|
|
|
|
|
then
|
|
|
|
|
echo "0"
|
|
|
|
|
else
|
|
|
|
|
printf "\r%s\n" "0"
|
|
|
|
|
fi
|