我有以下代码以mm:ss格式计算时间差。但是,如果我具有08/09之类的值,则它不起作用。我通过添加#10看到了几个斑点,它可以解决,但是对我来说不起作用。谁能帮忙。
#!/bin/bash
start_ts=04:24:07
stop_ts=04:24:09
ts_get_sec()
{
read -r h m s <<< $(echo 10#$1 | tr ':' ' ' )
echo $(((h*60*60)+(m*60)+s))
}
START=$(ts_get_sec $start_ts)
STOP=$(ts_get_sec $stop_ts)
DIFF=$((STOP-START))
echo "$((DIFF/60)):$((DIFF%60))"
我得到的错误:
该值对于基数太大(错误令牌为“ 09”)
请从语法上建议我是否正确。
答案 0 :(得分:0)
从分割后的h m和s中删除前导空白:
Test B
Test A
Test C