有人可以解释一下为什么这不起作用吗?我有一个 bash 函数,它只返回持续时间时间戳中的秒数。
Shell脚本函数
seconds() {
result=$(echo "\"1970-01-01 $1+0\"")
echo date +%s -d $result
}
调用函数
seconds 00:00:02.00 #works
date +%s -d "1970-01-01 00:00:02.00+0"
如果我复制这个确切的文本并在它工作的终端中执行它,则会产生以下输出。
$(seconds 00:00:02.00) #error
然而这会返回一个错误:
date: extra operand ‘00:00:02.00+0"’
这里有什么问题?或者有更好的方法来做到这一点吗?