On Thu, Feb 03, 2005 at 01:49:37PM +0200, Romeo Ninov wrote:
> А защо не пробваш нещо от рода:
> c=$[$a-$b]
> вместо
> c=`echo $a+$b|bc`

Хмм, за $[израз] още не бях чувал - това е много по-малко portable от
$((израз)), което, както вече споменах, поне ще работи на всички Korn
shells, а всъщност преди малко се сетих, че ще работи и на всички
POSIX-съвместими реализации на /bin/sh.  Така че това, което май в
предишните един-два мейла казах, вече не е толкова вярно - $((..)) всъщност
е един доста добър начин за пресмятания, макар и да има реализации на
шелове, при които няма да работи.

> Поне при мен работи и с много големи числа
> примерно:
> а=12345678901234567890;b=12345678801234567880;export a b echo $[$a-$b] 
> 100000000010


А това, както вече писахме, е вярно само от Bash 2.05-alpha1 насам :)

А Мартин все още не е казал коя е версията на неговия Bash...

Поздрави,
Петър



Версията на инсталирания при мен Bash e:

GNU bash, version 2.05a.0(1)-release (i386-pc-linux-gnu)
Copyright 2001 Free Software Foundation, Inc.

Поздрави,
Мартин Колев


============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================

Reply via email to