de-vraag
  • Вопросы
  • Метки
  • Пользователи
Оповещения
Вознаграждения
Регистрация
После регистрации, сможете получать уведомления об ответах и комментариях на Ваши вопросы.
Вход
Если у Вас уже есть аккаунт, войдите чтобы проверить новые уведомления.
Тут будут вознаграждения за добавленные вопросы, ответы и комментарий.
Дополнительно
Источник
Редактировать
 olidev
olidev
Вопрос

сравнение в скрипте оболочки с делением, всегда дающим false

Я пишу очень простое сравнение в скрипте bash, но я никогда не получаю его правильно:

кол = 0

if [ expr $count/4 = 0 ];
then
  echo "yes";
else
  echo "no";
fi

всегда не давая?

1 2011-10-27T14:44:47+00:00 3
Программирование
shell
bash
glenn jackman
27-го октября 2011 в 2:52
2011-10-27T14:52:25+00:00
Дополнительно
Источник
Редактировать
#56789919

Если вы хотите позвонить в программу expr, вы должны на самом деле обратиться к ней:

if [ $(expr $count/4) = 0 ]; then echo "yes"; else echo "no"; fi

Тем не менее, bash может сделать это самостоятельно:

if (( $count/4 == 0 )); then echo "yes"; else echo "no"; fi
5
0
Lee Netherton
27-го октября 2011 в 2:51
2011-10-27T14:51:31+00:00
Дополнительно
Источник
Редактировать
#56789918

Вы должны использовать замену команд ( $ () или backticks), чтобы оценить выражение eval . Кроме того, используйте -eq для целочисленного сравнения :

if [ $(expr $count/4) -eq 0 ];
then
  echo "yes";
else
  echo "no";
fi
3
0
Fritz G. Mehner
27-го октября 2011 в 3:39
2011-10-27T15:39:14+00:00
Дополнительно
Источник
Редактировать
#56789920

Как насчет этого

[[ count/4 -eq 0 ]] && echo 'yes' || echo 'no'
0
0
Похожие сообщества 2
pro.bash
pro.bash
526 пользователей
All about Nix shells, signals, processes and development in general.
Открыть telegram
zshell_ru
zshell_ru
46 пользователей
Zshell, он-же ZSH. Вопросы, ответы и обмен опытом.
Открыть telegram
Добавить вопрос
Категории
Все
Технологий
Культура / Отдых
Жизнь / Искусство
Наука
Профессии
Бизнес
Пользователи
Все
Новые
Популярные
1
Elena Nudel
Зарегистрирован 1 день назад
2
firdaus faizal
Зарегистрирован 1 день назад
3
Виталий Теслюк
Зарегистрирован 3 дня назад
4
shokir qochqorov
Зарегистрирован 3 дня назад
5
Roxana Elizabeth CASTILLO Avalos
Зарегистрирован 1 неделю назад
© de-vraag 2022
Источник
stackoverflow.com
под лицензией cc by-sa 3.0 с атрибуцией