diff options
Diffstat (limited to 'rushs/tinyprintf/seq/seq.sh')
| -rwxr-xr-x | rushs/tinyprintf/seq/seq.sh | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/rushs/tinyprintf/seq/seq.sh b/rushs/tinyprintf/seq/seq.sh new file mode 100755 index 0000000..9721432 --- /dev/null +++ b/rushs/tinyprintf/seq/seq.sh @@ -0,0 +1,33 @@ +#!/bin/sh + +if [ $# -ne 3 ]; then + echo "Usage: ./seq.sh FIRST INCREMENT LAST" 1>&2 + exit 1 +fi + +if [ "$2" -eq 0 ]; then + exit 1 +fi + +if [ "$1" -eq "$3" ]; then + echo "$1" + exit 0 +fi + +if [ "$1" -lt "$3" ]; then + [ 0 -gt "$2" ] && exit 1 + i="$1" + while [ "$3" -ge "$i" ]; do + echo "$i" + i=$(($i + $2)) + done + exit 0 +fi + +[ "$2" -gt 0 ] && exit 1 +i="$1" +while [ "$i" -ge "$3" ]; do + echo "$i" + i=$(($i + $2)) +done +exit 0 |
