Рейтинг:0

Баш с нуля

флаг cn

Я знаю, что это может показаться смешным, но в свою защиту я скажу, что я только начинаю возиться с кодированием и bash в частности, так что не судите меня слишком строго...

Я только что погрузился в это:

#!/бин/баш

echo -n "Введите число: "
читать VAR

если [[ $VAR -gt 10 ]]
тогда
  echo "Переменная больше 10."
фи

Дело в том, что любое число, которое я записываю, ничего не меняет. Даже 2 будет больше, чем 10. Что не так?

Karlom avatar
флаг de
Этот скрипт отлично работает для меня: «Введите число: 12 Переменная больше 10. В чем именно проблема?
paladin avatar
флаг kr
Пожалуйста, выполните `ls /bin/bash -l` и сообщите нам, что получится. `/bin/bash --version` также поможет.
terdon avatar
флаг cn
У вас есть две плохие практики: i) избегайте использования CAPS для переменных.По соглашению, глобальные переменные среды пишутся в CAPS, и если вы установите их таким же образом, это может привести к неожиданным ошибкам. ii) Всегда указывайте свои переменные при их использовании.
Рейтинг:5
флаг vn

Скрипт имеет правильный синтаксис и у меня работает. Если я ввожу что-либо от 0 до 10, текст не отображается.

Для дальнейшего использования я рекомендую вам установить шеллчек и сделайте привычкой проверять синтаксис вашего скрипта с его помощью.

Рейтинг:2
флаг us

В качестве альтернативы (поскольку вы упоминаете, что изучаете bash) вы можете использовать арифметическое выражение:

если (( ВАР > 10 ))
тогда
    echo "Значение больше 10."
фи

Или более краткий однострочный:

(( ВАР <= 10 )) || echo "Значение больше 10."

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.