Это может звучать немного тривиальным, но это на самом деле довольно печально: Может любой объяснять меня это:
[~:user$]expr 3 + 2
6
[~:user$]expr 3 / 2
1
[~:user$]expr 3 * 2
expr: syntax error
Когда страница справочника для expr
точно указывает, что ARG1 * ARG2 является арифметическим продуктом обоих.
Спасибо,
Вам нужно процитировать *
, потому что в противном случае оболочка пытается расширить имя файла.
$ expr 3 '*' 2
6
Да, это не очень красиво, вам придется сделать свою обертку. Посмотрите на приложение builtin database rowse , которое обладает всеми необходимыми функциональными возможностями.
-121--647444- Необходимо процитировать *
, поскольку в противном случае оболочка попытается расширить имя файла.
$ expr 3 '*' 2
6
-121--4594627- *
расширяется вашей оболочкой до достижения expr
, поэтому она содержит Документы
, Видео
, Работа
, nsfw
и т.д.
@OP, все это полностью зависит от вас, но я все равно предложил использовать операцию внутренней добавления оболочки вместо того, чтобы вызов внешнего EXPR
$ echo $(( 3*2 ))
6
, если вам требуется более продвижение математических операций, используйте BC (DC) или awk.