小编Tik*_*tti的帖子

使用算术运算运行脚本时,需要"数字参数"

我正在尝试编写一个函数,该函数应该将形式为hr:min:sec,ms(即15:41:47,757)的时间戳转换为毫秒.功能如下:

#!/bin/sh
mili () {

    hr=$(echo "$1" | cut -c1-2)
    echo "hr is: " $hr
    min=$(echo "$1" | cut -c4-5)
    echo "min is: " $min
    sec=$(echo "$1" | cut -c7-8)
    echo "sec is: " $sec
    ms=$(echo "$1" | cut -c10-12)
    echo "ms is: " $ms
    total=$(($hr \* 3600 + $min \* 60 + $sec) \* 1000 + $ms)

    return "$total"
    #echo "Result is: "$total" "
}

mili $1
Run Code Online (Sandbox Code Playgroud)

但是,当我运行它时:

./mili.sh"15:41:47,757"

我收到以下输出消息:

./mili.sh: command substitution: line 15: syntax error near unexpected …
Run Code Online (Sandbox Code Playgroud)

shell sh

6
推荐指数
2
解决办法
2万
查看次数

标签 统计

sh ×1

shell ×1