The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Диапазоны в if(bash), !*! anonymous, 31-Авг-11, 00:37  [смотреть все]
Доброго времени суток! Никак не могу найти, как же указывать диапазоны в sh/bash(желательно - в sh, без башизмов). В частности, четные/нечетные диапазоны, либо проверка числа на четность/нечетность вообще. Пробовал типа
if [ $i -eq {0..30..2} ]; then
....
fi
Толку чуть. Есть адекватное решение?
  • Диапазоны в if(bash), !*! Аноним, 07:05 , 31-Авг-11 (1)
    Доброго времени!
    Мы знаем, что чётное число делится нацело на два.
    В posix shell арифметические операции производятся следующим образом:
    $((num_1 operator num_2))
    Пример: echo $((2/1))
    В bourne shell арифметические операции производятся следующим образом:
    expr num_1 operator num_2
    Пример: expr 2 / 1
    info coreutils 'expr invocation' man expr


    #!/bin/sh
    for num in -1 0 1 2 3 4 5; do
    if [ $num -eq $((num/2*2)) ];
    then echo "$num - чётное число";
    else echo "$num - нечётное число";
    fi
    done

  • Диапазоны в if(bash), !*! омоним, 08:33 , 21-Сен-11 (3)
    > Доброго времени суток! Никак не могу найти, как же указывать диапазоны в
    > sh/bash(желательно - в sh, без башизмов). В частности, четные/нечетные диапазоны, либо
    > проверка числа на четность/нечетность вообще. Пробовал типа
    > if [ $i -eq {0..30..2} ]; then
    > ....
    > fi
    > Толку чуть. Есть адекватное решение?

    man seq




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру