5 bash
我在 ubuntu 中运行了一个非常简单的 bash 脚本,但遇到了一个问题。如果需要,我会发布整个脚本,但我已经缩小了问题的范围。基本上,我想每 15 秒运行一次代码,所以我从这个开始:
time=`date +%S`
time2=$((time%15))
if [ $time2 -eq 0 ]
then
Run Code Online (Sandbox Code Playgroud)
等等等等等等....
当时间为 08 秒时出现问题。脚本以非法编号终止:08。添加到,使用时:
time2=$(($time%15))
Run Code Online (Sandbox Code Playgroud)
而不是非法数字错误,它将以算术表达式终止:期望 EOF:“08%15”
我猜 08 不会被解释为一个数字。或者有一些基本问题,比如它认为它是八进制或其他东西。有什么帮助吗?
最短的解决方案:
time2=$(( ${time#0} % 15 ))
Run Code Online (Sandbox Code Playgroud)
${var#glob}手段“$var与glob如果存在的话从一开始就去除”。