这可能听起来有点微不足道,但实际上非常令人沮丧: 谁能解释一下这个:
[~:user$]expr 3 + 2
6
[~:user$]expr 3 / 2
1
[~:user$]expr 3 * 2
expr: syntax error
当expr
的手册页精确指定ARG1 * ARG2是两者的算术乘积时。
谢谢,
答案 0 :(得分:9)
您需要引用*
,否则shell会尝试扩展文件名。
$ expr 3 '*' 2
6
答案 1 :(得分:5)
这应该足够了:
expr 3 \ * 2
答案 2 :(得分:3)
@OP,完全取决于你,但我仍然建议使用shell内部添加操作而不是调用外部expr
$ echo $(( 3*2 ))
6
如果您需要更多高级数学运算,请使用bc(dc)或awk。
答案 3 :(得分:2)
*
之前, expr
已展开,因此它包含Documents
,Videos
,Work
,nsfw
等