我有变量" sum_test_sub"当" sum_test"的结果时是0。
date_val=16
refresh_count=0
sum_test=$((${date_val#0}%2+refresh_count))
sum_test_sub=$((${sum_test#0}%2))
以下是错误:
%2: syntax error: operand expected (error token is "%2")
为什么值0被识别?难道我做错了什么??请帮忙..
答案 0 :(得分:1)
${var#0}
中的bash
构造将从0
变量中删除前导var
。
如果您有类似"07"
的内容,那将会很好"7"
。但是,如果您的变量为"0"
,则最终会得到""
。
Bash可以处理0
作为模数的第一个参数,它可以处理的是一个空字符串。
我不确定您为什么甚至使用前缀删除变量扩展,因为 你的变量无论如何都以0
开头。< / p>