Ожидаемый вывод не приходит при сравнении 2 чисел в Linux

linux bash

457 просмотра

1 ответ

https://www.hackerrank.com/challenges/bash-tutorials---comparing-numbers

Проблема HackerRank: Сравнение чисел

Я пишу простую проблему в Linux, которая гласит: «Учитывая два целых числа, X и Y, определить, является ли X больше, чем Y, или X меньше, чем Y, или X равно Y:

Ниже мой код:

read x y

if ((x>y)); then  
echo "x is greater than y"; 
elif ((x==y)); then  
echo "x is equal to y"; 
else  
echo "x is less than y"; 
fi;

Но я не получаю правильный ответ в некоторых оболочках: я не знаю, как исправить и почему не работает в некоторых оболочках bash.

Кто-нибудь может направить меня Почему и как это исправить? Спасибо заранее.

Автор: user6389648 Источник Размещён: 08.11.2019 10:58

Ответы (1)


0 плюса

Решение

Две вещи: если x и y являются переменными, почему a и b? Также, даже если вы объявите read ab, вам нужно добавить $ a, $ b внутрь if. Я не думаю, что это будет работать в любой оболочке.

read x
read y

if (($x>$y)); then  
echo "x is greater than y"; 
elif (($x==$y)); then  
echo "x is equal to y"; 
else  
echo "x is less than y"; 
fi;
Автор: deosha Размещён: 20.08.2016 03:08
Вопросы из категории :
32x32