Моя задача состояла в том, чтобы напечатать, соответствуют ли эти цифры знакам ISOSCELES, EQUILATERAL или SCALENE. Мой код печатает только ISOSCELES: Где ошибка?bash- условный треугольник error
#!/bin/bash
read a b c
if [ "$a" == "$b" ] && { [ "$b" = "$c" ] && [ "$c" = "$a" ]; }
then
echo "EQUILATERAL"
exit 1
elif [ "$a" == "$b" ] && { [ "$b" = "$c" ] || [ "$c" = "$a" ]; }
then
echo "ISOSCELES"
elif ([[ "$a" != "$b" ]] && [[ "$b" != "$c" ]] && [[ "$c" != "$a" ]])
then
echo "SCALENE"
fi
Что вы указываете в качестве входных данных? – merlin2011
Я даю ввод: '6 6 6' – Drave
Используйте -eq для сравнения целых чисел – merlin2011