Я получаю ошибку: line 9: * 12: syntax error: operand expected (error token is "* 12")
(я ввел 3, 4, 1 в качестве теста на скрипт), результат, который мне еще нужно показать в конце но после этой строки ошибки. Почему эта строка показывает, что все «работает»?ошибка: строка 9: * 12: синтаксическая ошибка: ожидаемый операнд
Вот мой код, чтобы вы могли понять, что я сделал:
y='1'
z='0'
while [ $z = 0 ]
do
read x
if [[ "$x" -ge "0" ]];
then
y=$[$x*$y]
fi
done
echo -n "The multiplication of positive numbers entered is: $y"
exit
Я пробовал это, но теперь ctrl + d не останавливает цикл и переходит к эхо-биту. – Uranus
Проблема заключается в отсутствующем операнде, когда 'x' пуст, а не синтаксис. – janos
'$ [...]' - устаревший недокументированный, но все еще поддерживаемый предшественник синтаксиса POSIX '$ ((...)). – chepner