微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Bash脚本,非法数字:08

我在ubuntu中运行一个非常简单的bash脚本,但是遇到了一个问题.
如果需要我会发布整个脚本,但我已经缩小了问题范围.
基本上,我想每15秒运行一些代码,所以我从这开始:
time=`date +%s`

time2=$((time%15))

if [ $time2 -eq 0 ]

then

等等等……

当时间是08秒时,问题出现了.该脚本以非法数字终止:08.
除此之外,使用时:

time2=$(($time%15))

它将以算术表达式终止而不是非法数字错误:期待EOF:“08?”

我猜08不会被解释为数字.或者有一些基本问题,比如它认为它是八进制或其他东西.有帮助吗?

最短的解决方案:
time2=$(( ${time#0} % 15 ))

${var#glob}表示“$var,如果存在,则从开头删除glob”.

原文地址:https://www.jb51.cc/bash/386973.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐