История изменений
Исправление Desmond_Hume, (текущая версия) :
Незаданные переменные равны пустым строкам.
Почему тогда не выдаётся ошибка о том, что это non-integer значение?
Шелл не ИИ, он не думает за тебя. Оболочка обрабатывает некоторые последовательности до передачи команде. Если нужно передать без обработки, используй экранирование или одинарные кавычки.
$ expr '5' '*' '4'
20
$ expr 5 '*' 4
20
Вот так работает, да. Но экранирование - это один знак, печатать быстрее.
Исходная версия Desmond_Hume, :
Незаданные переменные равны пустым строкам. Почему тогда не выдаётся ошибка о том, что это non-integer значение?
Шелл не ИИ, он не думает за тебя. Оболочка обрабатывает некоторые последовательности до передачи команде. Если нужно передать без обработки, используй экранирование или одинарные кавычки.
$ expr '5' '*' '4'
20
$ expr 5 '*' 4
20
Вот так работает, да. Но экранирование - это один знак, печатать быстрее.