在使用 $[ ]
把时分秒转换为整数的时候,报错,报错信息:
09:value too great for base (error token is "09")
原因是 shell
把以数字 0
开头的数字以为不是10进制的数字,而是以为是其它进制,所以需要指定进制:
在每个数字前面加上 10#
来指定进制:
_intsec="1:32:09"
for timeblock in $(echo "${_intsec}" | sed 's/:/ /g') ; do
_filesec=$[ 10#${_filesec} * 10#60 + 10#${timeblock} ]
done
参考:https://blog.csdn.net/sunlei1980/article/details/46799407