URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 41907
[ Назад ]

Исходное сообщение
"Арифметика в bash"

Отправлено dm , 19-Мрт-04 23:24 
Всем привет.

Подскажите как в bash-е будет выглядеть арифметические операции, а то что то по ману нифига не врублюсь. Например как будет выглядеть что то вроде

a = b + c

и

if (a == 2){

}

Спасибо


Содержание

Сообщения в этом обсуждении
"Арифметика в bash"
Отправлено dilmah , 20-Мрт-04 06:48 
a=$(( $b + $c ))

это для целочисленных переменных.  Для плавающих -- man bc

if [ $a -eq 2 ]; then
    something
fi

if описывается в man your_favorite_shell

Скобка [ это команда test -- соответственно все способы сравнения -- man test


"Арифметика в bash"
Отправлено vt , 20-Мрт-04 18:52 
>Подскажите как в bash-е будет выглядеть арифметические операции, а то что то
>по ману нифига не врублюсь. Например как будет выглядеть что то
>вроде
>
>a = b + c
>

>
>if (a == 2){
>
>}

a=1
b=2
let c=a+b

test $c -eq 3 && {
echo yes
echo c=$c
} || {
echo no
echo c=$c
}


"Арифметика в bash"
Отправлено dm , 21-Мрт-04 22:50 
наверное фишка в том, что шелл у меня cygwin-овский. кроме как через expr никак не получается считать арифметику.

"Арифметика в bash"
Отправлено dilmah , 22-Мрт-04 00:32 
>наверное фишка в том, что шелл у меня cygwin-овский. кроме как через
>expr никак не получается считать арифметику.

в cygwin bash не отличается от обычного -- во всяком случае в аспекте
вычисления выражений.


"Арифметика в bash"
Отправлено Azazelo , 22-Мрт-04 10:49 
>Всем привет.
>
>Подскажите как в bash-е будет выглядеть арифметические операции, а то что то
>по ману нифига не врублюсь. Например как будет выглядеть что то
>вроде
>
>a = b + c
>

>
>if (a == 2){
>
>}
>
>Спасибо

это я думаю поможет .
http://gazette.linux.ru.net/rus/articles/index-abs-guide.html


"Арифметика в bash"
Отправлено dm , 22-Мрт-04 12:25 
Да, стормозил я. Вместо /bin/bash в скриптах писал /bin/sh. глянул, а это ссылка на ash.