我在bash脚本中有一个像下面这样的表达式:
if test $year % 4 -eq 0
但它发出警告line 5: test: too many arguments
这里有什么问题?我该如何解决这个问题?
答案 0 :(得分:4)
test
内置函数不算算;它不理解%
符号。
如果你真的想使用test
,那么你可以写:
if test $((year % 4)) -eq 0
(使用arithmetic expansion; $((year % 4))
位在调用test
之前被相关值替换;但我认为写起来更简单明了:
if ((year % 4 == 0))
(改为使用arithmetic expression)。