Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 29.09.2022
Сообщений: 12

Некорректная работа bash скрипта (command not found)

04.06.2023, 20:15. Показов 626. Ответов 5

Студворк — интернет-сервис помощи студентам
Задача определить число, чья сумма цифр наибольшая, решение лобовое, но тем не менее в строках с предусловием while возникает ошибка "command not found", вероятно по этой причине скрипт в 100% случаев выводит значение переменной с1, подскажите пожалуйста в чём ошибка

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
echo "Enter 1-st number"
read a
echo "Enter 2-nd number"
read b
echo "Enter 3-d number"
read c
 
a1=$a
b1=$b
c1=$c
z=0
z1=10
a0=0
b0=0
c0=0
while("$a" -gt "$z")
do
a0+=a%z1
a=a/z1
done
while("$a" -gt "$z")
do
a0+=a%z1
a=a/z1
done
while("$a" -gt "$z")
do
a0+=a%z1
a=a/z1
done
if (("$a0" -gt "$b0"))&&(("$a0" -gt "$c0"))
then
echo "$a1 the most biggest"
else if (("$b0" -gt "$a0"))&&(("$b0" -gt "$c0"))
then
echo "$b1 the most biggest"
else
echo "$c1 the most biggest"
fi
fi
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.06.2023, 20:15
Ответы с готовыми решениями:

git bash: command not found
Здравствуйте Установлен git на windows 10. Все в целом работает, но время от времени при выполнении команд git pull или git commit...

Command not found при запуске git bash
Здравствуйте! Извините, если может быть не в том разделе создаю эту тему. У меня такая проблема. Я установил git bash и хочу выполнить...

Не выполняется функция "cin.getline": "bash: (введённое значение): command not found" ;
Здравствуйте. Помогите решить проблему: написал программу на сайте, но она не выполняется, как предполагалось: после выполнения функции...

5
 Аватар для peter_irich
367 / 223 / 53
Регистрация: 18.10.2017
Сообщений: 2,363
04.06.2023, 20:37
Я не разбирался, но любом случае для сравнения чисел имена переменных лучше использовать прямо,
без двойных апострофов, т.к. это означает, что переменная является строкой.
0
1135 / 391 / 86
Регистрация: 30.08.2017
Сообщений: 2,414
04.06.2023, 21:22
Не совсем так, в баше и так по умолчанию значение переменных строковое. Запись в кавычках выключает спецзначения большинства символов. Например * не будет башем расширена:
Bash
1
2
m=m*
echo "$m"
Пробелы в строке до одного не будут ужаты... Так что хуже тут не будет

Я бы пробелы и скобки бы поправил. Например неплохо бы while и дальнейшее пробелом отделить
Bash
1
while [ "$a" -gt "$z" ]
Ну и
Bash
1
a=a/z1
на
Bash
1
((a=a/z1))
поправил и т.д.
0
0 / 0 / 0
Регистрация: 29.09.2022
Сообщений: 12
04.06.2023, 22:18  [ТС]
Главная загвоздка крылась в том, что цикл while не сравнивал значения переменных, помогло использование [[ ]] вместо ( ) и таким образом окончательный рабочий вариант выглядит так
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
echo "Enter 1-st number"
read -r -a a
echo "Enter 2-nd number"
read -r -a b
echo "Enter 3-d number"
read -r -a c
 
a1=$a
b1=$b
c1=$c
z=0
z1=10
aa=0
bb=0
cc=0
 
while [[ "$a" -gt "$z" ]]
do
aa+="$a"%"$z1"
a="$a"/"$z1"
done
while [[ "$b" -gt "$z" ]]
do
bb+="$b"%"$z1"
b="$b"/"$z1"
done
while [[ "$c" -gt "$z" ]]
do
cc+="$c"%"$z1"
c="$c"/"$z1"
done
if (( $aa > $bb )) && (( $aa > $cc ))
then
echo "$a1 the most biggest"
else if (( $bb > $aa )) && (( $bb > $cc ))
then
echo "$b1 the most biggest"
else
echo "$c1 the most biggest"
fi
fi
0
 Аватар для peter_irich
367 / 223 / 53
Регистрация: 18.10.2017
Сообщений: 2,363
04.06.2023, 22:35
Мне не приходилось использовать [[...]] при исползовании численных переменных, правильно работало и с одиночными.
Да, по умолчанию переменные - это строки, но, когда я присваиваю переменной число, не беря его в кавычки,
а потом делаю сравнение с помощью операторов, опять же не беря имя в кавычки, то ни резу не требовалось
использовать двойные скобки.
0
1135 / 391 / 86
Регистрация: 30.08.2017
Сообщений: 2,414
04.06.2023, 22:38
Ну это я занудствовал В некоторых операторах оболочка делает приведение типа.
А так, как и писал, у ТС были ошибки в синтаксисе.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.06.2023, 22:38
Помогаю со студенческими работами здесь

Некорректная работа скрипта
Не могу понять в чем проблема. Скрипт рабочий. Но при переходе с одной ссылки на другую обновляет страницу и перебрасывает на верх...

Некорректная работа скрипта
Добрый день, я столкнулся с такой проблемой как показано в видео: fLEorTnXvSE а именно при 2-ом нажатии вы могли заметить что 1-ый...

Некорректная работа скрипта
Сей скрипт плавного перехода между страницами $(document).ready(function() { $("body").css("display",...

Некорректная работа скрипта
Проблема в if var quantity= $("#numberOrderWhisky").val(); var quantityInDB= $("#quantityWhiskeyInDB").val(); var price =...

Некорректная работа скрипта по крону
имеется скрипт вывоводящий количество строк в файле, для пример возьму простой !#/bin/bash cat /tmp/test.txt | wc -l >...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru