Dave Kelly wrote:
> paintedjazz@gmail.com wrote:
>
>> If I use the result of a function call in a condtional statement,
>> is it possible to return one of three possible values or is it just
>> true or false or a 0 or 1 status?
>>
>> I want to test if a number is greater than, equal to or less than
>> another number.
>> Thus, the function should be something like:
>>
>> if myfunction $num $another_num # return value is probably only 0 or
>> 1
>> then
>> echo $num is greater than
>> else
>> echo $num is less than
>> fi
>>
>> But I need to know if $num and $another_num are equal too.
>>
>> Can I just have the function return a value (other than the status)
>> that could be tested?
>> How could I do that? Thx for your .
>>
>
> I don't know if this would work, but I'd type it in and test it.
>
> if ( a < b ) ? -1 : ( a == b ) ? 0 : 1 ;
>
> Or is this one of those thing that is NOT portable anywhere except
> inside my head?
Don't know which shell supports your syntax. In ksh93 you can write...
x=$(( (a < b)? -1 : (a == b)? 0 : 1 ))
Janis
>
> Dave