Как правильно выполнить сравнение ?

Fine
Дата: 23.04.2010 10:34:46
Здравствуйте;
У меня вот такой код:
$dopust=80 # %

procent=$(echo "scale=0; 100*$a/$b" | bc);
	if [[ $procent > $dopust  ]]
	then
	  status="ok"   
	  else
         status="low"
	fi;
Здесь все нормально работает, пока $procent < 100. Как только $procent равняется 100 результат if-а не правильно.

Я попробовал :

if [[ $procent > $dopust  ]] || [[ $procent = 100  ]] 

Но думаю это не грамотное решение вопроса.
В конечном итоге мне недо будет выполнить сравнение больше или равно ( >= ) не зависимо от значений переменных $procent и $dopust.

Спасибо.
Sleeping Daemon
Дата: 23.04.2010 10:56:40
Fine
Здравствуйте;
У меня вот такой код:
$dopust=80 # %

procent=$(echo "scale=0; 100*$a/$b" | bc);
	if [[ $procent > $dopust  ]]
	then
	  status="ok"   
	  else
         status="low"
	fi;
Здесь все нормально работает, пока $procent < 100. Как только $procent равняется 100 результат if-а не правильно.

Я попробовал :

if [[ $procent > $dopust  ]] || [[ $procent = 100  ]] 

Но думаю это не грамотное решение вопроса.
В конечном итоге мне недо будет выполнить сравнение больше или равно ( >= ) не зависимо от значений переменных $procent и $dopust.

Спасибо.

man bash
CONDITIONAL EXPRESSIONS
Fine
Дата: 23.04.2010 21:53:45
В данный момент под рукой нет bash-a.

Если кто то знает, пишите пожауйста.
vkle
Дата: 23.04.2010 23:31:14

#!/bin/bash

procent=100;dopust=60
if [[ $procent -ge $dopust ]]
then
    echo Yes
else
    echo NO
fi

procent=100;dopust=100
if [[ $procent -ge $dopust ]]
then
    echo Yes
else
    echo NO
fi

procent=100;dopust=120
if [[ $procent -ge $dopust ]]
then
    echo Yes
else
    echo NO
fi
Получаем:
$ ./test
Yes
Yes
NO
Оно?

ЗЫ: чего б не почитать Advanced Bash-Scripting Guide на сон грядущий? ;-)



Posted via ActualForum NNTP Server 1.4

Fine
Дата: 23.04.2010 23:41:46
vkle

#!/bin/bash

procent=100;dopust=60
if [[ $procent -ge $dopust ]]
then
    echo Yes
else
    echo NO
fi
Оно?



Кажется вот это, но во сколько я помню, этот вариант попробовал....

Еще раз буду попробовать и скажу :)
Спасибо
skelet
Дата: 24.04.2010 08:37:04
Fine,

так очевидно же, что ежели у вас [ ] то надо всякие там -eq -ne и т.д. пользовать для цифер...
Fine
Дата: 26.04.2010 21:43:48
Кажется работает.

Спасибо