On 01/22/2013 02:24 PM, Pádraig Brady wrote: > Yes I was wondering that myself. > > Though I suppose that `seq 0 0 1` prints endlessly, > means that it's consistent that as long as start <= end > and step == 0, then start is printed endlessly.
Yes, from a mathematical point of view, seq is right. Therefore, maybe documenting seq's behavior would suffice. OTOH ... > Maybe we should special case to only print > the start value once if step = 0. ... users may not be amused about an endless loop in a tool which is otherwise meant for counting, e.g. $ seq $start $step $last | \ while read x ; do work_on $s ; done Stopping after the start valie is maybe not mathematically correct, but more "natural". > Maybe one could use a step of 0 to hack a > min/max function or something? > > min() { minv=$(seq "$1" 0 "$2"); : ${minv:="$2"}; echo $minv; } > max() { minv=$(seq "$1" 0 "$2"); : ${maxv:="$1"}; echo $maxv; } TBH this doesn't look like as if a normal user would be able to invent this. ;-) Have a nice day, Berny