test:bash脚本中的参数太多了

时间:2018-05-06 07:13:53

标签: bash

我在bash脚本中有一个像下面这样的表达式:

if test $year % 4 -eq 0

但它发出警告line 5: test: too many arguments

这里有什么问题?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

test内置函数不算算;它不理解%符号。

如果你真的想使用test,那么你可以写:

if test $((year % 4)) -eq 0

(使用arithmetic expansion; $((year % 4))位在调用test之前被相关值替换;但我认为写起来更简单明了:

if ((year % 4 == 0))

(改为使用arithmetic expression)。