30 lines
528 B
Text
30 lines
528 B
Text
|
|
# Generate a sequence from m to n, m defaults to 1.
|
||
|
|
|
||
|
|
seq ()
|
||
|
|
{
|
||
|
|
declare -i lo hi i # makes local
|
||
|
|
local _SEQ
|
||
|
|
|
||
|
|
case $# in
|
||
|
|
1) seq 1 "$1" ; return $? ;;
|
||
|
|
2) lo=$1 hi=$2
|
||
|
|
i=$lo _SEQ=""
|
||
|
|
while let "i <= hi"; do
|
||
|
|
_SEQ="${_SEQ}$i "
|
||
|
|
let i+=1
|
||
|
|
done
|
||
|
|
echo "${_SEQ# }"
|
||
|
|
return 0 ;;
|
||
|
|
*) echo seq: usage: seq [low] high 1>&2 ; return 2 ;;
|
||
|
|
esac
|
||
|
|
}
|
||
|
|
|
||
|
|
# like the APL `iota' function (or at least how I remember it :-)
|
||
|
|
iota()
|
||
|
|
{
|
||
|
|
case $# in
|
||
|
|
1) seq 1 "$1"; return $?;;
|
||
|
|
*) echo "iota: usage: iota high" 1>&2; return 2;;
|
||
|
|
esac
|
||
|
|
}
|